[arch-commits] Commit in tensorflow/trunk (PKGBUILD cuda11.1.patch)

Sven-Hendrik Haase svenstaro at archlinux.org
Mon Oct 5 07:52:36 UTC 2020


    Date: Monday, October 5, 2020 @ 07:52:35
  Author: svenstaro
Revision: 718730

upgpkg: tensorflow 2.3.1-2: Fix libcudart.so.11.1 dynamic loading error (FS#68078)

Modified:
  tensorflow/trunk/PKGBUILD
  tensorflow/trunk/cuda11.1.patch

----------------+
 PKGBUILD       |    6 +-
 cuda11.1.patch |  121 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 122 insertions(+), 5 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-10-05 07:40:32 UTC (rev 718729)
+++ PKGBUILD	2020-10-05 07:52:35 UTC (rev 718730)
@@ -7,7 +7,7 @@
 pkgname=(tensorflow tensorflow-opt tensorflow-cuda tensorflow-opt-cuda python-tensorflow python-tensorflow-opt python-tensorflow-cuda python-tensorflow-opt-cuda)
 pkgver=2.3.1
 _pkgver=2.3.1
-pkgrel=1
+pkgrel=2
 pkgdesc="Library for computation using data flow graphs for scalable machine learning"
 url="https://www.tensorflow.org/"
 license=('APACHE')
@@ -19,12 +19,14 @@
              'cython')
 optdepends=('tensorboard: Tensorflow visualization toolkit')
 source=("$pkgname-$pkgver.tar.gz::https://github.com/tensorflow/tensorflow/archive/v${_pkgver}.tar.gz"
+        https://github.com/tensorflow/tensorflow/commit/c6769e20bf6096d5828e2590def2b25edb3189d6.patch
         numpy1.20.patch::https://github.com/tensorflow/tensorflow/commit/75ea0b31477d6ba9e990e296bbbd8ca4e7eebadf.patch
         cuda11.1.patch
         build-against-actual-mkl.patch)
 sha512sums=('e497ef4564f50abf9f918be4522cf702f4cf945cb1ebf83af1386ac4ddc7373b3ba70c7f803f8ca06faf2c6b5396e60b1e0e9b97bfbd667e733b08b6e6d70ef0'
+            '9dcaef0dd4fdd7008a27e383ef87c97990ba883a3094f214f821a039994933ec6ec47f5a832570e5c4b783e0493ce2236e7957e596395c4dee40f9bf2621ff2f'
             'df2e0373e2f63b8766f31933f7db57f6a7559b8f03af1db51644fba87731451a7cd3895529a3192e5394612fcb42f245b794b1c9ca3c05881ca03a547c8c9acc'
-            '8e9c6fae8b7ac8ad6640e9306a60b194987bcb3744d3d1e2c96cb6905016d9271f885d36a87f78ee158cf42fd9dd6257c2effcd4c9c567da3012e5462916ad16'
+            '0caa5170c22fdea2c708ecdb2c980d668464d9dba9c9730a9ec5e9258572576d783fa1d19da04d5f9d2b06aed36d30971526f212fc64c53d09c3e821bd1a3b5d'
             'e51e3f3dced121db3a09fbdaefd33555536095584b72a5eb6f302fa6fa68ab56ea45e8a847ec90ff4ba076db312c06f91ff672e08e95263c658526582494ce08')
 
 get_pyver () {

Modified: cuda11.1.patch
===================================================================
--- cuda11.1.patch	2020-10-05 07:40:32 UTC (rev 718729)
+++ cuda11.1.patch	2020-10-05 07:52:35 UTC (rev 718730)
@@ -1,5 +1,14 @@
+From 4a64bbe4ff9fb03a948ee76f7349cfdb9e9b7528 Mon Sep 17 00:00:00 2001
+From: Nathan Luehr <nluehr at nvidia.com>
+Date: Thu, 13 Aug 2020 09:46:43 -0700
+Subject: [PATCH 1/2] Fix cudart 11.1 soname
+
+---
+ third_party/gpus/cuda_configure.bzl | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
 diff --git a/third_party/gpus/cuda_configure.bzl b/third_party/gpus/cuda_configure.bzl
-index ea33963fe1..3ec6b0efa8 100644
+index ea33963fe19fb..3e6bdc9d8eb22 100644
 --- a/third_party/gpus/cuda_configure.bzl
 +++ b/third_party/gpus/cuda_configure.bzl
 @@ -534,14 +534,14 @@ def _find_libs(repository_ctx, check_cuda_libs_script, cuda_config):
@@ -7,7 +16,7 @@
              cpu_value,
              cuda_config.config["cuda_library_dir"],
 -            cuda_config.cuda_version,
-+            "11.0",
++            cuda_config.cudart_version,
              static = False,
          ),
          "cudart_static": _check_cuda_lib_params(
@@ -15,7 +24,113 @@
              cpu_value,
              cuda_config.config["cuda_library_dir"],
 -            cuda_config.cuda_version,
-+            "11.0",
++            cuda_config.cudart_version,
              static = True,
          ),
          "cublas": _check_cuda_lib_params(
+@@ -651,6 +651,7 @@ def _get_cuda_config(repository_ctx, find_cuda_config_script):
+           cuda_toolkit_path: The CUDA toolkit installation directory.
+           cudnn_install_basedir: The cuDNN installation directory.
+           cuda_version: The version of CUDA on the system.
++          cudart_version: The CUDA runtime version on the system.
+           cudnn_version: The version of cuDNN on the system.
+           compute_capabilities: A list of the system's CUDA compute capabilities.
+           cpu_value: The name of the host operating system.
+@@ -668,6 +669,10 @@ def _get_cuda_config(repository_ctx, find_cuda_config_script):
+     cudnn_version = ("64_%s" if is_windows else "%s") % config["cudnn_version"]
+ 
+     if int(cuda_major) >= 11:
++        if int(cuda_major) == 11:
++          cudart_version = "64_110" if is_windows else "11.0"
++        else:
++          cudart_version = ("64_%s" if is_windows else "%s") % cuda_major
+         cublas_version = ("64_%s" if is_windows else "%s") % config["cublas_version"].split(".")[0]
+         cusolver_version = ("64_%s" if is_windows else "%s") % config["cusolver_version"].split(".")[0]
+         curand_version = ("64_%s" if is_windows else "%s") % config["curand_version"].split(".")[0]
+@@ -677,12 +682,14 @@ def _get_cuda_config(repository_ctx, find_cuda_config_script):
+         # cuda_lib_version is for libraries like cuBLAS, cuFFT, cuSOLVER, etc.
+         # It changed from 'x.y' to just 'x' in CUDA 10.1.
+         cuda_lib_version = ("64_%s" if is_windows else "%s") % cuda_major
++        cudart_version = cuda_version
+         cublas_version = cuda_lib_version
+         cusolver_version = cuda_lib_version
+         curand_version = cuda_lib_version
+         cufft_version = cuda_lib_version
+         cusparse_version = cuda_lib_version
+     else:
++        cudart_version = cuda_version
+         cublas_version = cuda_version
+         cusolver_version = cuda_version
+         curand_version = cuda_version
+@@ -693,6 +700,7 @@ def _get_cuda_config(repository_ctx, find_cuda_config_script):
+         cuda_toolkit_path = toolkit_path,
+         cuda_version = cuda_version,
++        cudart_version = cudart_version,
+         cublas_version = cublas_version,
+         cusolver_version = cusolver_version,
+         curand_version = curand_version,
+
+From 2642e93e6cbb7a3a1e916abf1ab8e18fa2735237 Mon Sep 17 00:00:00 2001
+From: Nathan Luehr <nluehr at nvidia.com>
+Date: Fri, 14 Aug 2020 13:21:58 -0700
+Subject: [PATCH 2/2] Use correct cudart soname in GetDsoHandle
+
+---
+ tensorflow/stream_executor/platform/default/dso_loader.cc | 3 ++-
+ third_party/gpus/cuda/cuda_config.h.tpl                   | 1 +
+ third_party/gpus/cuda_configure.bzl                       | 2 ++
+ 3 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/tensorflow/stream_executor/platform/default/dso_loader.cc b/tensorflow/stream_executor/platform/default/dso_loader.cc
+index 84293b7767a20..a78c738f32c2a 100644
+--- a/tensorflow/stream_executor/platform/default/dso_loader.cc
++++ b/tensorflow/stream_executor/platform/default/dso_loader.cc
+@@ -31,6 +31,7 @@ namespace internal {
+ 
+ namespace {
+ string GetCudaVersion() { return TF_CUDA_VERSION; }
++string GetCudaRtVersion() { return TF_CUDART_VERSION; }
+ string GetCudnnVersion() { return TF_CUDNN_VERSION; }
+ string GetCublasVersion() { return TF_CUBLAS_VERSION; }
+ string GetCusolverVersion() { return TF_CUSOLVER_VERSION; }
+@@ -77,7 +78,7 @@ port::StatusOr<void*> GetCudaDriverDsoHandle() {
+ }
+ 
+ port::StatusOr<void*> GetCudaRuntimeDsoHandle() {
+-  return GetDsoHandle("cudart", GetCudaVersion());
++  return GetDsoHandle("cudart", GetCudaRtVersion());
+ }
+ 
+ port::StatusOr<void*> GetCublasDsoHandle() {
+diff --git a/third_party/gpus/cuda/cuda_config.h.tpl b/third_party/gpus/cuda/cuda_config.h.tpl
+index b59889938b1a9..ab26686ccb8b2 100644
+--- a/third_party/gpus/cuda/cuda_config.h.tpl
++++ b/third_party/gpus/cuda/cuda_config.h.tpl
+@@ -17,6 +17,7 @@ limitations under the License.
+ #define CUDA_CUDA_CONFIG_H_
+ 
+ #define TF_CUDA_VERSION "%{cuda_version}"
++#define TF_CUDART_VERSION "%{cudart_version}"
+ #define TF_CUBLAS_VERSION "%{cublas_version}"
+ #define TF_CUSOLVER_VERSION "%{cusolver_version}"
+ #define TF_CURAND_VERSION "%{curand_version}"
+diff --git a/third_party/gpus/cuda_configure.bzl b/third_party/gpus/cuda_configure.bzl
+index 3e6bdc9d8eb22..f85a53b1593b4 100644
+--- a/third_party/gpus/cuda_configure.bzl
++++ b/third_party/gpus/cuda_configure.bzl
+@@ -824,6 +824,7 @@ filegroup(name="cudnn-include")
+         "cuda:cuda_config.h",
+         {
+             "%{cuda_version}": "",
++            "%{cudart_version}": "",
+             "%{cublas_version}": "",
+             "%{cusolver_version}": "",
+             "%{curand_version}": "",
+@@ -1289,6 +1290,7 @@ def _create_local_cuda_repository(repository_ctx):
+         tpl_paths["cuda:cuda_config.h"],
+         {
+             "%{cuda_version}": cuda_config.cuda_version,
++            "%{cudart_version}": cuda_config.cudart_version,
+             "%{cublas_version}": cuda_config.cublas_version,
+             "%{cusolver_version}": cuda_config.cusolver_version,
+             "%{curand_version}": cuda_config.curand_version,


More information about the arch-commits mailing list