Skip to content

pjrt/oneapi: Add support for oneAPI in GitHub workflows and related scripts#86

Merged
neudinger merged 1 commit into
masterfrom
kevin/oneapi
May 21, 2026
Merged

pjrt/oneapi: Add support for oneAPI in GitHub workflows and related scripts#86
neudinger merged 1 commit into
masterfrom
kevin/oneapi

Conversation

@neudinger
Copy link
Copy Markdown
Contributor

@neudinger neudinger commented May 19, 2026

in https://github.com/zml/xla/tree/zml/oneapi

  • Basic oneAPI/SYCL single-device support:

  • Wires SYCL BLAS through oneMKL.

  • Adds GEMM and strided-batched GEMM support.

  • Supports several dtypes: FP16, BF16, FP32, FP64, complex, and some int8 paths.

  • Adds basic BLAS-Lt matmul execution, including default and bias epilogues.

  • Makes oneCCL multi-device collectives explicitly unsupported instead of returning fake success.

  • Fixes SyclStream::RecordEvent so it actually updates the passed SyclEvent.

  • Fixes oneAPI module caching:

  • Replaces raw SPIR-V buffer pointer cache keys with stable SPIR-V byte fingerprints.

  • Identical SPIR-V binaries loaded from different host buffers now share the same cached Level Zero module.

  • Adds refcount/cache hit/cache miss logging.

  • Adds timing logs for Level Zero module creation.

  • Adds a test that loads copied SPIR-V bytes and verifies both loads return the same module handle.

  • oneAPI/SYCL BLAS functional for single-device execution.

  • SPIR-V module loading avoids duplicate Level Zero module creation for identical binaries.

CUDA and ROCm already cache loaded modules behind ModuleHandle/refcount maps,
but key them by the raw binary pointer. For oneAPI, i use a stable fingerprint
of the SPIR-V bytes instead, so identical SPIR-V buffers at different host addresses share the same loaded Level Zero module.

@neudinger neudinger force-pushed the kevin/oneapi branch 5 times, most recently from 7a91b7e to bb7c8f9 Compare May 20, 2026 15:07
@neudinger neudinger marked this pull request as ready for review May 20, 2026 15:19
@neudinger neudinger changed the title feat: Add support for oneAPI in GitHub workflows and setup scripts pjrt/oneapi: Add support for oneAPI in GitHub workflows and related scripts May 20, 2026
@neudinger neudinger requested a review from hugomano May 20, 2026 15:20
Comment thread .github/workflows/_build.yaml Outdated
Comment thread setup.sh
Comment thread tools/resolve-openxla-heads.sh Outdated
@neudinger neudinger merged commit bb21ed7 into master May 21, 2026
9 checks passed
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