diff --git a/.github/workflows/_build.yaml b/.github/workflows/_build.yaml index be73590..76d53e6 100644 --- a/.github/workflows/_build.yaml +++ b/.github/workflows/_build.yaml @@ -126,7 +126,7 @@ jobs: uses: actions/checkout@v4 with: ref: ${{ matrix.pjrt.target == 'cuda' && env.CUDA_XLA_COMMIT || matrix.pjrt.target == 'rocm' && env.ROCM_XLA_COMMIT || matrix.pjrt.target == 'rocm_hrx' && env.ROCM_HRX_XLA_COMMIT || matrix.pjrt.target == 'oneapi' && env.ONEAPI_XLA_COMMIT || env.XLA_COMMIT }} - repository: ${{ matrix.pjrt.target == 'cuda' && 'zml/xla' || matrix.pjrt.target == 'rocm' && 'ROCm/xla' || matrix.pjrt.target == 'rocm_hrx' && 'zml/xla' || matrix.pjrt.target == 'oneapi' && 'zml/xla' || 'openxla/xla' }} + repository: ${{ matrix.pjrt.target == 'cuda' && 'zml/xla' || matrix.pjrt.target == 'rocm' && 'zml/xla' || matrix.pjrt.target == 'rocm_hrx' && 'zml/xla' || matrix.pjrt.target == 'oneapi' && 'zml/xla' || 'openxla/xla' }} path: "xla" - name: Apply patches to openxla diff --git a/openxla/bazelrc/rocm/xla_configure.bazelrc b/openxla/bazelrc/rocm/xla_configure.bazelrc index a80d6be..46af863 100755 --- a/openxla/bazelrc/rocm/xla_configure.bazelrc +++ b/openxla/bazelrc/rocm/xla_configure.bazelrc @@ -1,5 +1,5 @@ build --repo_env=HERMETIC_PYTHON_VERSION=3.12 -build:rocm_ci_hermetic --repo_env=ROCM_DISTRO_VERSION=rocm_7.14.0_multiarch +build:rocm_ci_hermetic --repo_env=ROCM_DISTRO_VERSION=rocm_10.0.0_multiarch build:rocm_ci_hermetic --repo_env=TF_ROCM_AMDGPU_TARGETS=gfx908,gfx90a,gfx90c,gfx942,gfx950,gfx1010,gfx1011,gfx1012,gfx1030,gfx1031,gfx1032,gfx1033,gfx1034,gfx1035,gfx1036,gfx1100,gfx1101,gfx1102,gfx1103,gfx1150,gfx1151,gfx1152,gfx1200,gfx1201,gfx1153 build --copt -Wno-sign-compare build --copt -Wno-gnu-offsetof-extensions diff --git a/openxla/commits.env b/openxla/commits.env index ea849f1..333963c 100644 --- a/openxla/commits.env +++ b/openxla/commits.env @@ -1,5 +1,5 @@ XLA_COMMIT=6b73c4c49eb0c5aee1963c1e34c7cc8ba92ac202 CUDA_XLA_COMMIT=d57d4a82b02a8b9fc9781e816c3d0efb87a3178e -ROCM_XLA_COMMIT=7b5ecf1c9282fdf1039211e0d45216980058beda +ROCM_XLA_COMMIT=1109d18c29e4b1ceb54b60fd298dffdf28b1f715 ROCM_HRX_XLA_COMMIT=b00c32a2e53405913b1f669c08793db402ae1027 ONEAPI_XLA_COMMIT=f104811c9c3a927d54fc4d5bcdce52fa0859bf69 diff --git a/openxla/patches/rocm/0001-Drop-the-.so-suffix-for-PjRt-plugin-targets-.dylib-o.patch b/openxla/patches/rocm/0001-Drop-the-.so-suffix-for-PjRt-plugin-targets-.dylib-o.patch deleted file mode 100644 index 2a95e68..0000000 --- a/openxla/patches/rocm/0001-Drop-the-.so-suffix-for-PjRt-plugin-targets-.dylib-o.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 7d561a417341200fae88a863118ba053403b6ba5 Mon Sep 17 00:00:00 2001 -From: Hugo Mano -Date: Wed, 5 Nov 2025 14:45:20 +0100 -Subject: [PATCH 1/3] Drop the .so suffix for PjRt plugin targets (.dylib on - macOS) - ---- - xla/pjrt/c/BUILD | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/xla/pjrt/c/BUILD b/xla/pjrt/c/BUILD -index 39192ab24d..8fb2e34c21 100644 ---- a/xla/pjrt/c/BUILD -+++ b/xla/pjrt/c/BUILD -@@ -390,7 +390,7 @@ cc_library( - - # PJRT CPU plugin. - xla_cc_binary( -- name = "pjrt_c_api_cpu_plugin.so", -+ name = "pjrt_c_api_cpu_plugin", - additional_linker_inputs = [ - ":pjrt_c_api_cpu_version_script.lds", - ], -@@ -486,7 +486,7 @@ cc_library( - - # PJRT GPU plugin. Can be configured to be built for CUDA or ROCM. - xla_cc_binary( -- name = "pjrt_c_api_gpu_plugin.so", -+ name = "pjrt_c_api_gpu_plugin", - additional_linker_inputs = [ - ":pjrt_c_api_gpu_version_script.lds", - ], --- -2.50.1 (Apple Git-155) - diff --git a/openxla/patches/rocm/0002-Use-hermetic-cc-toolchain-for-Linux-CPU-use-glibc-2..patch b/openxla/patches/rocm/0002-Use-hermetic-cc-toolchain-for-Linux-CPU-use-glibc-2..patch deleted file mode 100644 index 2c4b965..0000000 --- a/openxla/patches/rocm/0002-Use-hermetic-cc-toolchain-for-Linux-CPU-use-glibc-2..patch +++ /dev/null @@ -1,46 +0,0 @@ -From 5a073c6fc34b8ffeeb254bacdb1e8210c8cf6d62 Mon Sep 17 00:00:00 2001 -From: Hugo Mano -Date: Wed, 5 Nov 2025 14:45:51 +0100 -Subject: [PATCH 2/3] Use hermetic cc toolchain for Linux CPU (use glibc 2.31) - ---- - WORKSPACE | 24 ++++++++++++++++++++++++ - 1 file changed, 24 insertions(+) - -diff --git a/WORKSPACE b/WORKSPACE -index 944b1dd9c6..f13e3983bf 100644 ---- a/WORKSPACE -+++ b/WORKSPACE -@@ -33,6 +33,30 @@ register_toolchains("@rules_ml_toolchain//cc:linux_aarch64_linux_aarch64") - - register_toolchains("@rules_ml_toolchain//cc:linux_aarch64_linux_aarch64_cuda") - -+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") -+ -+HERMETIC_CC_TOOLCHAIN_VERSION = "v3.1.1" -+ -+http_archive( -+ name = "hermetic_cc_toolchain", -+ sha256 = "907745bf91555f77e8234c0b953371e6cac5ba715d1cf12ff641496dd1bce9d1", -+ urls = [ -+ "https://mirror.bazel.build/github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION), -+ "https://github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION), -+ ], -+) -+ -+load("@hermetic_cc_toolchain//toolchain:defs.bzl", zig_toolchains = "toolchains") -+ -+# Plain zig_toolchains() will pick reasonable defaults. See -+# toolchain/defs.bzl:toolchains on how to change the Zig SDK version and -+# download URL. -+zig_toolchains() -+ -+register_toolchains( -+ "@zig_sdk//toolchain:linux_amd64_gnu.2.31", -+) -+ - # Initialize hermetic Python - load("//third_party/py:python_init_rules.bzl", "python_init_rules") - --- -2.50.1 (Apple Git-155) diff --git a/openxla/patches/rocm/0003-Add-TheRock-multiarch-ROCm-redist.patch b/openxla/patches/rocm/0003-Add-TheRock-multiarch-ROCm-redist.patch deleted file mode 100644 index 16e84eb..0000000 --- a/openxla/patches/rocm/0003-Add-TheRock-multiarch-ROCm-redist.patch +++ /dev/null @@ -1,71 +0,0 @@ -diff --git a/MODULE.bazel b/MODULE.bazel -index 0ded999acc..bac042ce72 100644 ---- a/MODULE.bazel -+++ b/MODULE.bazel -@@ -48,6 +48,10 @@ archive_override( - integrity = "sha256-QJY+S8Ji36mkMUb2EBQK8AaLAjrOjzxQ8XBae1DeCDA=", - strip_prefix = "rules_ml_toolchain-cad1047facbac4fb3c1124da68bf2cb36c7eb9ac", - urls = ["https://github.com/google-ml-infra/rules_ml_toolchain/archive/cad1047facbac4fb3c1124da68bf2cb36c7eb9ac.tar.gz"], -+ patch_strip = 1, -+ patches = [ -+ "//third_party/gpus/rocm:rules_ml_toolchain_rocm_multiarch.patch", -+ ], - ) - - # TODO: Upstream the patch? -diff --git a/third_party/gpus/rocm/rocm_redist.bzl b/third_party/gpus/rocm/rocm_redist.bzl -index 5c62b0211b..13c06eda85 100644 ---- a/third_party/gpus/rocm/rocm_redist.bzl -+++ b/third_party/gpus/rocm/rocm_redist.bzl -@@ -1,4 +1,14 @@ - rocm_redist = { -+ "rocm_7.14.0_multiarch": struct( -+ packages = [ -+ { -+ "url": "https://repo.amd.com/rocm/tarball-multi-arch/therock-dist-linux-multiarch-7.14.0.tar.gz", -+ "sha256": "", -+ }, -+ ], -+ required_softlinks = [], -+ rocm_root = "", -+ ), - "rocm_7.10.0_gfx90X": struct( - packages = [ - { -diff --git a/third_party/gpus/rocm/rules_ml_toolchain_rocm_multiarch.patch b/third_party/gpus/rocm/rules_ml_toolchain_rocm_multiarch.patch -new file mode 100644 -index 0000000000..def8dae05f ---- /dev/null -+++ b/third_party/gpus/rocm/rules_ml_toolchain_rocm_multiarch.patch -@@ -0,0 +1,19 @@ -+diff --git a/gpu/rocm/rocm_redist.bzl b/gpu/rocm/rocm_redist.bzl -+index 7b53bb2..8f7de61 100644 -+--- a/gpu/rocm/rocm_redist.bzl -++++ b/gpu/rocm/rocm_redist.bzl -+@@ -16,4 +16,14 @@ -+ rocm_redist = { -++ "rocm_7.14.0_multiarch": struct( -++ packages = [ -++ { -++ "url": "https://repo.amd.com/rocm/tarball-multi-arch/therock-dist-linux-multiarch-7.14.0.tar.gz", -++ "sha256": "", -++ }, -++ ], -++ required_softlinks = [], -++ rocm_root = "", -++ ), -+ "rocm_7.12.0_gfx94X": struct( -+ packages = [ -+ { -diff --git a/workspace3.bzl b/workspace3.bzl -index a9aa1507a8..844babc07a 100644 ---- a/workspace3.bzl -+++ b/workspace3.bzl -@@ -52,6 +52,7 @@ def workspace(): - name = "rules_ml_toolchain", - sha256 = "40963e4bc262dfa9a43146f610140af0068b023ace8f3c50f1705a7b50de0830", - strip_prefix = "rules_ml_toolchain-cad1047facbac4fb3c1124da68bf2cb36c7eb9ac", -+ patch_file = ["//third_party/gpus/rocm:rules_ml_toolchain_rocm_multiarch.patch"], - urls = tf_mirror_urls( - "https://github.com/google-ml-infra/rules_ml_toolchain/archive/cad1047facbac4fb3c1124da68bf2cb36c7eb9ac.tar.gz", - ),