py-tensorflow: fix aarch64 build (#43852)
* py-tensorflow: fix aarch64 build * [@spackbot] updating style on behalf of aweits * patch format * change patch strategy, actually get the logic correct in the patch * only patch 2.16.1 onwards for aarch64 * __CUDACC__ not __NVCC__ * !(defined(__NVCC__) && defined(__CUDACC__)) --------- Co-authored-by: aweits <aweits@users.noreply.github.com>
This commit is contained in:
		| @@ -0,0 +1,55 @@ | ||||
| From 32321ebf22c32ed4bbc9f98b44f2a67fe6c86823 Mon Sep 17 00:00:00 2001 | ||||
| From: Andrew Elble <aweits@rit.edu> | ||||
| Date: Wed, 1 May 2024 18:46:42 -0400 | ||||
| Subject: [PATCH] patch | ||||
|  | ||||
| --- | ||||
|  third_party/absl/absl_neon.patch | 23 +++++++++++++++++++++++ | ||||
|  third_party/absl/workspace.bzl   |  1 + | ||||
|  2 files changed, 24 insertions(+) | ||||
|  create mode 100644 third_party/absl/absl_neon.patch | ||||
|  | ||||
| diff --git a/third_party/absl/absl_neon.patch b/third_party/absl/absl_neon.patch | ||||
| new file mode 100644 | ||||
| index 000000000000..d4eb77bc3f86 | ||||
| --- /dev/null | ||||
| +++ b/third_party/absl/absl_neon.patch | ||||
| @@ -0,0 +1,23 @@ | ||||
| +From: Andrew Elble <aweits@rit.edu> | ||||
| +Date: Thu, 25 Apr 2024 08:09:36 -0400 | ||||
| +Subject: [PATCH] fix | ||||
| + | ||||
| +--- | ||||
| + absl/base/config.h | 2 +- | ||||
| + 1 file changed, 1 insertion(+), 1 deletion(-) | ||||
| + | ||||
| +diff --git a/absl/base/config.h b/absl/base/config.h | ||||
| +index 5fa9f0efe5a4..bfedf4e1d7bd 100644 | ||||
| +--- a/absl/base/config.h | ||||
| ++++ b/absl/base/config.h | ||||
| +@@ -962,7 +962,7 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' || | ||||
| + // https://llvm.org/docs/CompileCudaWithLLVM.html#detecting-clang-vs-nvcc-from-code | ||||
| + #ifdef ABSL_INTERNAL_HAVE_ARM_NEON | ||||
| + #error ABSL_INTERNAL_HAVE_ARM_NEON cannot be directly set | ||||
| +-#elif defined(__ARM_NEON) && !defined(__CUDA_ARCH__) | ||||
| ++#elif defined(__ARM_NEON) && !(defined(__NVCC__) && defined(__CUDACC__)) | ||||
| + #define ABSL_INTERNAL_HAVE_ARM_NEON 1 | ||||
| + #endif | ||||
| +  | ||||
| +--  | ||||
| +2.31.1 | ||||
| diff --git a/third_party/absl/workspace.bzl b/third_party/absl/workspace.bzl | ||||
| index 06f75166ce4b..56d146d65abe 100644 | ||||
| --- a/third_party/absl/workspace.bzl | ||||
| +++ b/third_party/absl/workspace.bzl | ||||
| @@ -42,6 +42,7 @@ def repo(): | ||||
|          build_file = "//third_party/absl:com_google_absl.BUILD", | ||||
|          system_build_file = "//third_party/absl:system.BUILD", | ||||
|          system_link_files = SYS_LINKS, | ||||
| +	patch_file = ["//third_party/absl:absl_neon.patch"], | ||||
|          strip_prefix = "abseil-cpp-{commit}".format(commit = ABSL_COMMIT), | ||||
|          urls = tf_mirror_urls("https://github.com/abseil/abseil-cpp/archive/{commit}.tar.gz".format(commit = ABSL_COMMIT)), | ||||
|      ) | ||||
| --  | ||||
| 2.31.1 | ||||
|  | ||||
| @@ -399,6 +399,10 @@ class PyTensorflow(Package, CudaPackage, ROCmPackage, PythonExtension): | ||||
|     # protobuf definitions. | ||||
|     patch("0008-Fix-protobuf-errors-when-using-system-protobuf.patch", when="@2.5:2.6") | ||||
| 
 | ||||
|     # see https://github.com/tensorflow/tensorflow/issues/62490 | ||||
|     # and https://github.com/abseil/abseil-cpp/issues/1665 | ||||
|     patch("absl_neon.patch", when="@2.16.1: target=aarch64:") | ||||
| 
 | ||||
|     phases = ["configure", "build", "install"] | ||||
| 
 | ||||
|     # https://www.tensorflow.org/install/source | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Andrew W Elble
					Andrew W Elble