Skip to content

[XLA:GPU][oneAPI] Add oneAPI BUILD template and update redist versions for 2026.0#271

Open
neudinger wants to merge 3 commits into
google-ml-infra:mainfrom
neudinger:oneapi-2026
Open

[XLA:GPU][oneAPI] Add oneAPI BUILD template and update redist versions for 2026.0#271
neudinger wants to merge 3 commits into
google-ml-infra:mainfrom
neudinger:oneapi-2026

Conversation

@neudinger

@neudinger neudinger commented Jun 3, 2026

Copy link
Copy Markdown

Add :

  • Support for Intel oneAPI 2026.0 redistributable packages on Ubuntu 24.10.
  • A reusable BUILD template for oneAPI packages, so package layout can be shared across supported oneAPI versions in the same style as CUDA/ROCm.
  • Toolchain-owned hermetic SYCL defaults for oneAPI 2026.0 and Ubuntu 24.10.
  • Removal of bundled oneCCL exposure from @oneapi; oneCCL is expected to be built separately for GPU. See [XLA:GPU][oneAPI] Add support for oneCCL bazel build openxla/xla#42595.

Context:

To update ZML to fully support the latest intel GPU and the lattest oneAPI toolkit, we need to update the XLA project with oneAPI 2026 therefore XLA project need rules_ml_toolchain with oneAPI 2026.

Redistributable source:
For oneAPI 2026.0 this PR uses:
https://d3q76yfpnzmnjx.cloudfront.net/intel-oneapi-base-toolkit-2026.0.0.tar.gz

Validation:

bazel build \
    --config=sycl_hermetic \
    --repo_env=ONEAPI_VERSION=2026.0 \
    --repo_env=OS=ubuntu_24.10 \
    @oneapi//:all @oneapi//:headers @oneapi//:libs @level_zero//:all @zero_loader//:all

Notes:

  • @oneapi//:ccl is intentionally no longer declared.
  • @oneapi//:headers no longer exports oneCCL headers.

@cerisier

cerisier commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

@ybaturina this is an interesting one that you will likely need to reason about at some point.

oneAPI 2026 changed the way they redist which is now via an installer with license agreement required...
This PR brings support for oneAPI 2026 but refers to a tgz that we constructed ourselves so not mergeable as is of course.

Is there any plan to support up to date oneAPI ?

@yuriivcs

yuriivcs commented Jun 5, 2026

Copy link
Copy Markdown
Collaborator

Hi,
Could you add CI tests for oneAPI?
Do you have runners with needed hardware?
Thank you

@yuriivcs

yuriivcs commented Jun 5, 2026

Copy link
Copy Markdown
Collaborator

@ybaturina this is an interesting one that you will likely need to reason about at some point.

oneAPI 2026 changed the way they redist which is now via an installer with license agreement required... This PR brings support for oneAPI 2026 but refers to a tgz that we constructed ourselves so not mergeable as is of course.

Is there any plan to support up to date oneAPI ?

I will consult with Intel about it.

@mraunak

mraunak commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Hi @neudinger thank you for the PR
Overall, the PR looks good. However, a few changes are needed before it can be merged.

  1. We need to remove CCL from oneapi.BUILD.tpl as we are building it separately for the GPU. A related PR is already in progress: [XLA:GPU][oneAPI] Add support for oneCCL bazel build openxla/xla#42595

  2. Change the oneAPI redistributable source for oneapi 2026.0 to the following
    https://github.com/mraunak/rules_ml_toolchain/blob/main/gpu/sycl/sycl_redist_versions.bzl#L19

  3. Update the supported Ubuntu version from:ubuntu_24.04 to ubuntu_24.10

  4. The plan is to get the oneAPI and Ubuntu version from the toolchain repository instead of hardcoding them in XLA’s .bazelrc.

Avoid adding or changing the following entries in XLA’s .bazelrc:

common:sycl_hermetic --repo_env=ONEAPI_VERSION=2026.0
common:sycl_hermetic --repo_env=OS=ubuntu_24.04

For local testing or CI overrides, pass the values directly in the Bazel command instead. For example:

bazel build
--config=sycl_hermetic
--repo_env=ONEAPI_VERSION=2026.0
--repo_env=OS=ubuntu_24.10

@neudinger

neudinger commented Jun 9, 2026

Copy link
Copy Markdown
Author

Hi @neudinger thank you for the PR Overall, the PR looks good. However, a few changes are needed before it can be merged.

1. We need to remove CCL from oneapi.BUILD.tpl as we are building it separately for the GPU. A related PR is already in progress: [[XLA:GPU][oneAPI] Add support for oneCCL bazel build openxla/xla#42595](https://github.com/openxla/xla/pull/42595)

2. Change the oneAPI redistributable source for oneapi 2026.0 to the following
   https://github.com/mraunak/rules_ml_toolchain/blob/main/gpu/sycl/sycl_redist_versions.bzl#L19

3. Update the supported Ubuntu version from:ubuntu_24.04 to ubuntu_24.10

4. The plan is to get the oneAPI and Ubuntu version from the toolchain repository instead of hardcoding them in XLA’s .bazelrc.

Avoid adding or changing the following entries in XLA’s .bazelrc:

common:sycl_hermetic --repo_env=ONEAPI_VERSION=2026.0 common:sycl_hermetic --repo_env=OS=ubuntu_24.04

For local testing or CI overrides, pass the values directly in the Bazel command instead. For example:

bazel build --config=sycl_hermetic --repo_env=ONEAPI_VERSION=2026.0 --repo_env=OS=ubuntu_24.10

Hi @mraunak thanks you for your comment.

I updated the pr to fit your requirement.

@mraunak

mraunak commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Hi @neudinger, thank you for the changes. Just one minor request for now:

For this line:

https://github.com/neudinger/rules_ml_toolchain/blob/oneapi-2026/gpu/sycl/dist_repo.bzl#L53

Let’s revert it to 2025.1, since we are still using 2025.1 as the default version.

For users who want to run with 2026.0, we can ask them to pass the following flags explicitly:

--config=sycl_hermetic
--repo_env=OS=ubuntu_24.10
--repo_env=ONEAPI_VERSION=2026.0
--copt=-Wno-unknown-warning-option

We are aware of the following warning/error with 2026.0:

error: unknown warning option '-Wno-implicit-float-size-conversion' [-Werror,-Wunknown-warning-option]

We can remove the workaround once we make 2026.0 the default.

Please rebase your branch on the latest main, point XLA to this toolchain branch, and run the tests inside Docker using the following script to ensure everything is working correctly:
build_tools/sycl/ci_docker_test.sh

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.

4 participants