Skip to content

[SYCL] Adding SYCL backend to support for Intel XPUs - #215

Open
abagusetty wants to merge 8 commits into
PASSIONLab:mainfrom
abagusetty:xpu-support
Open

abagusetty wants to merge 8 commits into
PASSIONLab:mainfrom
abagusetty:xpu-support

Conversation

@abagusetty

@abagusetty abagusetty commented Sep 3, 2026

Copy link
Copy Markdown

Major changes:

  • Added feature support to target Intel GPUs (on ANL Aurora) via SYCL backend and generalize device selection so CUDA, HIP and SYCL are handled seamlessly

@vbharadwaj-bk

Copy link
Copy Markdown
Member

Great feature, thanks! This will take some time to review and test - so bear with us, but with some back and forth we'll see where we land.

Kernels are generated as SYCL free functions and compiled at runtime through
the oneAPI kernel compiler. The Jinja templates are shared with CUDA and HIP
via templates/sycl_compat.cuh; the backend is now a string rather than an
is_hip boolean, and JITKernel::execute also takes argument sizes.
Mirrors the CUDA job. GitHub offers no Intel GPU runner, so only the build is
exercised.
The stable-ABI headers the extension includes are not all present before 2.10,
which the precompiled-extension check in extlib has required all along. The
SYCL guard now enforces the same floor.
Upstream PASSIONLab#217 replaced HIP's __threadfence_block() with the amdgcn wave
barrier, so no template emits the token any more.
@vbharadwaj-bk

Copy link
Copy Markdown
Member

Got a review in progress for this, about 20/50 files in; thanks for the patience, it's going

@abagusetty

Copy link
Copy Markdown
Author

Got a review in progress for this, about 20/50 files in; thanks for the patience, it's going

Thanks @vbharadwaj-bk Appreciate for going through this. Not a small PR!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants