summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/py-tensorflow/Add_ROCm_lib_paths.patch97
-rw-r--r--var/spack/repos/builtin/packages/py-tensorflow/package.py17
2 files changed, 14 insertions, 100 deletions
diff --git a/var/spack/repos/builtin/packages/py-tensorflow/Add_ROCm_lib_paths.patch b/var/spack/repos/builtin/packages/py-tensorflow/Add_ROCm_lib_paths.patch
deleted file mode 100644
index 04f9d77580..0000000000
--- a/var/spack/repos/builtin/packages/py-tensorflow/Add_ROCm_lib_paths.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From 765f49b0bc5503ee82280a48aaa4a065dcd8ae6c Mon Sep 17 00:00:00 2001
-From: Afzal Patel <Afzal.Patel@amd.com>
-Date: Mon, 24 Jun 2024 09:31:26 +0000
-Subject: [PATCH] add rocm components lib paths
-
----
- .../clang/bin/crosstool_wrapper_driver_rocm.tpl | 15 +++++++++++++++
- third_party/gpus/rocm_configure.bzl | 7 ++++++-
- .../tsl/tsl/platform/default/rocm_rocdl_path.cc | 7 ++++++-
- .../gpu/llvm_gpu_backend/gpu_backend_lib.cc | 4 ++--
- 4 files changed, 29 insertions(+), 4 deletions(-)
-
-diff --git a/third_party/gpus/crosstool/clang/bin/crosstool_wrapper_driver_rocm.tpl b/third_party/gpus/crosstool/clang/bin/crosstool_wrapper_driver_rocm.tpl
-index 6cc91e19..17d0ad83 100755
---- a/third_party/gpus/crosstool/clang/bin/crosstool_wrapper_driver_rocm.tpl
-+++ b/third_party/gpus/crosstool/clang/bin/crosstool_wrapper_driver_rocm.tpl
-@@ -31,6 +31,11 @@ HIP_RUNTIME_PATH = '%{hip_runtime_path}'
- HIP_RUNTIME_LIBRARY = '%{hip_runtime_library}'
- ROCR_RUNTIME_PATH = '%{rocr_runtime_path}'
- ROCR_RUNTIME_LIBRARY = '%{rocr_runtime_library}'
-+RCCL_RUNTIME_PATH = '%{rccl_runtime_path}'
-+MIOPEN_RUNTIME_PATH = '%{miopen_runtime_path}'
-+ROCBLAS_RUNTIME_PATH = '%{rocblas_runtime_path}'
-+HIPFFT_RUNTIME_PATH = '%{hipfft_runtime_path}'
-+ROCRAND_RUNTIME_PATH = '%{rocrand_runtime_path}'
- VERBOSE = '%{crosstool_verbose}'=='1'
- CPU_COMPILER_IS_CLANG = '%{crosstool_clang}'=='1'
-
-@@ -258,6 +263,16 @@ def main():
- gpu_linker_flags.append('-L' + HIP_RUNTIME_PATH)
- gpu_linker_flags.append('-Wl,-rpath=' + HIP_RUNTIME_PATH)
- gpu_linker_flags.append('-l' + HIP_RUNTIME_LIBRARY)
-+ gpu_linker_flags.append('-L' + RCCL_RUNTIME_PATH)
-+ gpu_linker_flags.append('-Wl,-rpath=' + RCCL_RUNTIME_PATH)
-+ gpu_linker_flags.append('-L' + ROCBLAS_RUNTIME_PATH)
-+ gpu_linker_flags.append('-Wl,-rpath=' + ROCBLAS_RUNTIME_PATH)
-+ gpu_linker_flags.append('-L' + MIOPEN_RUNTIME_PATH)
-+ gpu_linker_flags.append('-Wl,-rpath=' + MIOPEN_RUNTIME_PATH)
-+ gpu_linker_flags.append('-L' + ROCRAND_RUNTIME_PATH)
-+ gpu_linker_flags.append('-Wl,-rpath=' + ROCRAND_RUNTIME_PATH)
-+ gpu_linker_flags.append('-L' + HIPFFT_RUNTIME_PATH)
-+ gpu_linker_flags.append('-Wl,-rpath=' + HIPFFT_RUNTIME_PATH)
- gpu_linker_flags.append("-lrt")
- gpu_linker_flags.append("-lstdc++")
-
-diff --git a/third_party/gpus/rocm_configure.bzl b/third_party/gpus/rocm_configure.bzl
-index 6eb17486..7ab931f5 100644
---- a/third_party/gpus/rocm_configure.bzl
-+++ b/third_party/gpus/rocm_configure.bzl
-@@ -746,7 +746,12 @@ def _create_local_rocm_repository(repository_ctx):
- "%{rocr_runtime_library}": "hsa-runtime64",
- "%{hip_runtime_path}": rocm_config.rocm_toolkit_path + "/lib",
- "%{hip_runtime_library}": "amdhip64",
-- "%{crosstool_verbose}": _crosstool_verbose(repository_ctx),
-+ "%{rccl_runtime_path}": rocm_config.rocm_paths["RCCL"] + "/lib",
-+ "%{rocblas_runtime_path}": rocm_config.rocm_paths["ROCBLAS"] + "/lib",
-+ "%{miopen_runtime_path}": rocm_config.rocm_paths["MIOPEN"] + "/lib",
-+ "%{hipfft_runtime_path}": rocm_config.rocm_paths["HIPFFT"] + "/lib",
-+ "%{rocrand_runtime_path}": rocm_config.rocm_paths["ROCRAND"] + "/lib",
-+ "%{crosstool_verbose}": _crosstool_verbose(repository_ctx),
- "%{gcc_host_compiler_path}": str(cc),
- "%{crosstool_clang}": "1" if _is_clang_enabled(repository_ctx) else "0",
- },
-diff --git a/third_party/xla/third_party/tsl/tsl/platform/default/rocm_rocdl_path.cc b/third_party/xla/third_party/tsl/tsl/platform/default/rocm_rocdl_path.cc
-index a1f3eba2..ae411688 100644
---- a/third_party/xla/third_party/tsl/tsl/platform/default/rocm_rocdl_path.cc
-+++ b/third_party/xla/third_party/tsl/tsl/platform/default/rocm_rocdl_path.cc
-@@ -40,6 +40,11 @@ string RocmRoot() {
- #endif
- }
-
--string RocdlRoot() { return io::JoinPath(RocmRoot(), "amdgcn/bitcode"); }
-+string RocdlRoot() {
-+ if (const char* device_lib_path_env = std::getenv("HIP_DEVICE_LIB_PATH")) {
-+ return device_lib_path_env;
-+ else{
-+ return io::JoinPath(RocmRoot(), "amdgcn/bitcode");
-+}
-
- } // namespace tsl
-diff --git a/third_party/xla/xla/service/gpu/llvm_gpu_backend/gpu_backend_lib.cc b/third_party/xla/xla/service/gpu/llvm_gpu_backend/gpu_backend_lib.cc
-index 8a5f2c2d..ec951099 100644
---- a/third_party/xla/xla/service/gpu/llvm_gpu_backend/gpu_backend_lib.cc
-+++ b/third_party/xla/xla/service/gpu/llvm_gpu_backend/gpu_backend_lib.cc
-@@ -771,8 +771,8 @@ absl::StatusOr<std::vector<uint8_t>> EmitModuleToHsaco(
- }
- // Locate lld.
- std::string lld_path;
-- if (std::getenv("ROCM_PATH")) {
-- lld_path = tsl::io::JoinPath(std::getenv("ROCM_PATH"), "llvm/bin");
-+ if (std::getenv("LLVM_PATH")) {
-+ lld_path = tsl::io::JoinPath(std::getenv("LLVM_PATH"), "bin");
- }
- else {
- lld_path = tsl::io::JoinPath("/opt/rocm", "llvm/bin");
---
-2.25.1
diff --git a/var/spack/repos/builtin/packages/py-tensorflow/package.py b/var/spack/repos/builtin/packages/py-tensorflow/package.py
index 62aa97fa90..668df710aa 100644
--- a/var/spack/repos/builtin/packages/py-tensorflow/package.py
+++ b/var/spack/repos/builtin/packages/py-tensorflow/package.py
@@ -49,8 +49,8 @@ class PyTensorflow(Package, CudaPackage, ROCmPackage, PythonExtension):
version("2.16.1", sha256="c729e56efc945c6df08efe5c9f5b8b89329c7c91b8f40ad2bb3e13900bd4876d")
version(
"2.16-rocm-enhanced",
- git="https://github.com/ROCm/tensorflow-upstream.git",
- branch="r2.16-rocm-enhanced",
+ sha256="6765e85675734b8fe17bca3c0669aec2f9ee97699b413780bcf3c6f00661ce72",
+ url="https://github.com/ROCm/tensorflow-upstream/archive/refs/tags/r2.16-rocm-enhanced.tar.gz",
)
version("2.15.1", sha256="f36416d831f06fe866e149c7cd752da410a11178b01ff5620e9f265511ed57cf")
version("2.15.0", sha256="9cec5acb0ecf2d47b16891f8bc5bc6fbfdffe1700bdadc0d9ebe27ea34f0c220")
@@ -418,6 +418,13 @@ class PyTensorflow(Package, CudaPackage, ROCmPackage, PythonExtension):
# and https://github.com/abseil/abseil-cpp/issues/1665
patch("absl_neon.patch", when="@2.16.1: target=aarch64:")
+ # reverting change otherwise the c467913 commit patch won't apply
+ patch(
+ "https://github.com/ROCm/tensorflow-upstream/commit/fd6b0a4356c66f5f30cedbc62b24f18d9e32806f.patch?full_index=1",
+ sha256="43f1519dfc618b4fb568f760d559c063234248fa12c47a35c1cf3b7114756424",
+ when="@2.16-rocm-enhanced +rocm",
+ reverse=True,
+ )
patch(
"https://github.com/ROCm/tensorflow-upstream/commit/c467913bf4411ce2681391f37a9adf6031d23c2c.patch?full_index=1",
sha256="82554a84d19d99180a6bec274c6106dd217361e809b446e2e4bc4b6b979bdf7a",
@@ -428,7 +435,11 @@ class PyTensorflow(Package, CudaPackage, ROCmPackage, PythonExtension):
sha256="a4c0fd62a0af3ba113c8933fa531dd17fa6667e507202a144715cd87fbdaf476",
when="@2.16-rocm-enhanced: +rocm",
)
- patch("Add_ROCm_lib_paths.patch", when="@2.16-rocm-enhanced +rocm")
+ patch(
+ "https://github.com/ROCm/tensorflow-upstream/commit/8b7fcccb2914078737689347540cb79ace579bbb.patch?full_index=1",
+ sha256="75a61a79ce3aae51fda920f677f4dc045374b20e25628626eb37ca19c3a3b4c4",
+ when="@2.16-rocm-enhanced +rocm",
+ )
phases = ["configure", "build", "install"]
# https://www.tensorflow.org/install/source