Sven-Hendrik Haase pushed to branch main at Arch Linux / Packaging / Packages / 
tensorflow


Commits:
9f772fdf by loqs at 2024-10-08T14:03:44+01:00
Update _pkgver to 2.18.0-rc1 so source is updated. Update pkgver to 2.18.0rc1.

Fixes 
https://gitlab.archlinux.org/archlinux/packaging/packages/tensorflow/-/issues/11.

- - - - -
e6618b49 by loqs at 2024-10-08T14:05:39+01:00
Update variables for hermetic CUDA using system CUDA, CUDNN, NCCL

Rename TF_CUDA_VERSION to HERMETIC_CUDA_VERSION and converted to required 
triplet form.
Rename TF_CUDNN_VERSION to HERMETIC_CUDNN_VERSION and converted to required 
triplet form.
Rename TF_CUDA_COMPUTE_CAPABILITIES to HERMETIC_CUDA_COMPUTE_CAPABILITIES.

- - - - -
1be5816d by loqs at 2024-10-11T20:38:17+01:00
Switch CUDA builds to config=cuda_wheel

Prevents build failure with: TF wheel shouldn't be built with CUDA 
dependencies. Please provide `--config=cuda_wheel` for bazel build command. If 
you absolutely need to add CUDA dependencies, provide 
`--@local_config_cuda//cuda:override_include_cuda_libs=true`.

- - - - -
496d6bd8 by loqs at 2024-10-11T20:41:24+01:00
Stop using system CUDA, CUDNN, NCCL

- - - - -
9edbd7db by loqs at 2024-10-11T20:41:26+01:00
Add patch supporting Nvidia 560 series driver.

- - - - -
d224b9fd by loqs at 2024-10-11T20:43:45+01:00
Switch CUDA builds to config=cuda_clang config=cuda_wheel

- - - - -
d4db46ff by loqs at 2024-10-11T20:44:11+01:00
Add patch for clang to detect CUDA version.

- - - - -


1 changed file:

- PKGBUILD


Changes:

=====================================
PKGBUILD
=====================================
@@ -5,8 +5,8 @@
 
 pkgbase=tensorflow
 pkgname=(tensorflow tensorflow-opt tensorflow-cuda tensorflow-opt-cuda 
python-tensorflow python-tensorflow-opt python-tensorflow-cuda 
python-tensorflow-opt-cuda)
-pkgver=2.18rc0
-_pkgver=2.17.0
+pkgver=2.18rc1
+_pkgver=2.18.0-rc1
 pkgrel=1
 pkgdesc="Library for computation using data flow graphs for scalable machine 
learning"
 url="https://www.tensorflow.org/";
@@ -16,12 +16,16 @@ depends=('c-ares' 'pybind11' 'openssl' 'libpng' 'curl' 
'giflib' 'icu' 'libjpeg-t
          'intel-oneapi-compiler-shared-runtime-libs')
 makedepends=('bazel' 'python-numpy' 'cuda' 'nvidia-utils' 'nccl' 'git' 'cudnn' 
'python-wheel' 'openmp'
              'python-installer' 'python-setuptools' 'python-h5py' 
'python-keras-applications'
-             'python-keras-preprocessing' 'cython' 'patchelf' 
'python-requests' 'libxcrypt-compat' 'clang')
+             'python-keras-preprocessing' 'cython' 'patchelf' 
'python-requests' 'libxcrypt-compat' 'clang' 'lld')
 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/13ea77ab753dc0e3bae6b92777cd835e464b26e7.patch
+        
https://github.com/tensorflow/tensorflow/commit/3f4b2fda6ffe7dfe03c1663ef37f54fc4432cc8b.patch
         tensorflow-2.16.1-python-distutils-removal.patch
         
https://github.com/bazelbuild/bazel/releases/download/6.5.0/bazel_nojdk-6.5.0-linux-x86_64)
-sha512sums=('45061f075971cf2bc219a34b1cda2ee9851ba586e94046838e6e1fd26adcfb399d90e71e89a0f709d5282ff3be7cc3a82b81d62dce53db5010640ea41487a469'
+sha512sums=('e7d9802d443f7c6abf8a2490f4ce86b5a9f583071b7b6bda7f944a621859e6075bd680a0dbceffca9c69db25508a16bf5b67c254253add5ffde440fb7413b7d9'
+            
'243c194778c75a073393af246dd206b2f20e13ea8c922a8ba5286b947a3dab6146bebd397712c17473ee018fd0e3bc0f1c01443be2c5f143920d4e0c73ec23d3'
+            
'03e8d7188a81cc237899f4f287f129e7759d268f604252636e007e1ffe71b6a07926c219f79b5bf1f8c088345e292eff461d2375ca1a73af435cdca182e9c26c'
             
'e4c44d2f5314b83d8ed404e5ec14960ef8b7df0c1a2a3e826f913a02c901f9fd0326f9014a602121e0fdb2f928d1459f8b8180455491a1f937ce84e12f6a7d3e'
             
'd3789f0ecd354468f2e24d98501041430ae99c173320fa9c3eb02f225c08ed298fd1ad259e4ad9bb70b6ae89d84cd87460aaa720de3486d40b30777a8fe45453')
 
@@ -63,6 +67,12 @@ prepare() {
   export PATH="${srcdir}/bazel:$PATH"
   bazel --version
 
+  # [GPU] Fix compilation with NVIDIA driver 560.
+  patch -Np1 -i ../13ea77ab753dc0e3bae6b92777cd835e464b26e7.patch -d 
tensorflow-${_pkgver}
+
+  # PR #16882: Symlink hermetic cuda headers to permit clang cuda version 
detection
+  patch -Np1 -i ../3f4b2fda6ffe7dfe03c1663ef37f54fc4432cc8b.patch -d 
tensorflow-${_pkgver}
+
   # Python 3.12 removed the distutils module
   # 
https://gitlab.archlinux.org/archlinux/packaging/packages/tensorflow/-/issues/7
   patch -Np1 -i ../tensorflow-2.16.1-python-distutils-removal.patch -d 
tensorflow-${_pkgver}
@@ -71,6 +81,10 @@ prepare() {
   # thinks about which versions should be used anyway. ;) (FS#68772)
   sed -i -E "s/'([0-9a-z_-]+) .= [0-9].+[0-9]'/'\1'/" 
tensorflow-${_pkgver}/tensorflow/tools/pip_package/setup.py
 
+  # prevent configure.py prompting for paths for 'LOCAL_CUDA_PATH', 
'LOCAL_CUDNN_PATH' and 'LOCAL_NCCL_PATH'
+  # Setting the variables as empty but defined does not prevent prompting by 
configure.py
+  sed -i "/set_cuda_local_path(environ_cp, '/d" 
tensorflow-${_pkgver}/configure.py
+
   cp -r tensorflow-${_pkgver} tensorflow-${_pkgver}-opt
   cp -r tensorflow-${_pkgver} tensorflow-${_pkgver}-cuda
   cp -r tensorflow-${_pkgver} tensorflow-${_pkgver}-opt-cuda
@@ -110,13 +124,16 @@ prepare() {
   export TF_CUDA_CLANG=0  # Clang currently disabled because it's not 
compatible at the moment.
   export CLANG_CUDA_COMPILER_PATH=/usr/bin/clang
   export TF_CUDA_PATHS=/opt/cuda,/usr/lib,/usr
-  export TF_CUDA_VERSION=$(/opt/cuda/bin/nvcc --version | sed -n 's/^.*release 
\(.*\),.*/\1/p')
-  export TF_CUDNN_VERSION=$(sed -n 's/^#define CUDNN_MAJOR\s*\(.*\).*/\1/p' 
/usr/include/cudnn_version.h)
+  #  export LOCAL_CUDA_PATH="/opt/cuda"
+  #  export LOCAL_CUDNN_PATH="/usr/lib"
+  #  export LOCAL_NCCL_PATH="/usr/lib"
+  export HERMETIC_CUDA_VERSION=$(/opt/cuda/bin/nvcc --version | sed -n 
's/\(release [^.]\+.[^.]\+\),/\1.0,/;s/^.*release \(.*\),.*/\1/p')
+  export HERMETIC_CUDNN_VERSION="$(sed -n 's/^#define 
CUDNN_MAJOR\s*\(.*\).*/\1/p' /usr/include/cudnn_version.h).$(sed -n 's/^#define 
CUDNN_MINOR\s*\(.*\).*/\1/p' /usr/include/cudnn_version.h).$(sed -n 's/^#define 
CUDNN_PATCHLEVEL\s*\(.*\).*/\1/p' /usr/include/cudnn_version.h)"
   # 
https://github.com/tensorflow/tensorflow/blob/1ba2eb7b313c0c5001ee1683a3ec4fbae01105fd/third_party/gpus/cuda_configure.bzl#L411-L446
   # according to the above, we should be specifying CUDA compute capabilities 
as 'sm_XX' or 'compute_XX' from now on
   # add latest PTX for future compatibility
   # Valid values can be discovered from nvcc --help
-  export 
TF_CUDA_COMPUTE_CAPABILITIES=sm_52,sm_53,sm_60,sm_61,sm_62,sm_70,sm_72,sm_75,sm_80,sm_86,sm_87,sm_89,sm_90,compute_90
+  export 
HERMETIC_CUDA_COMPUTE_CAPABILITIES=sm_52,sm_53,sm_60,sm_61,sm_62,sm_70,sm_72,sm_75,sm_80,sm_86,sm_87,sm_89,sm_90,compute_90
   export TF_PYTHON_VERSION=$(get_pyver)
   export PYTHON_BIN_PATH=/usr/bin/python$(get_pyver)
   export USE_DEFAULT_PYTHON_LIB_PATH=1
@@ -131,7 +148,7 @@ build() {
   export TF_NEED_CUDA=1
   ./configure
   bazel \
-    build --config=cuda \
+    build --config=cuda_clang --config=cuda_wheel\
       ${BAZEL_ARGS[@]} \
       //tensorflow:libtensorflow.so \
       //tensorflow:libtensorflow_cc.so \
@@ -146,7 +163,7 @@ build() {
   export TF_NEED_CUDA=1
   ./configure
   bazel \
-    build --config=opt --config=avx_linux --config=cuda \
+    build --config=opt --config=avx_linux --config=cuda_clang 
--config=cuda_wheel\
       ${BAZEL_ARGS[@]} \
       //tensorflow:libtensorflow.so \
       //tensorflow:libtensorflow_cc.so \



View it on GitLab: 
https://gitlab.archlinux.org/archlinux/packaging/packages/tensorflow/-/compare/fc5d7d380255790d43f633d832db8cba8be8b923...d4db46ffdf7ccdb755d1f2f2d9d73dc34493283f

-- 
View it on GitLab: 
https://gitlab.archlinux.org/archlinux/packaging/packages/tensorflow/-/compare/fc5d7d380255790d43f633d832db8cba8be8b923...d4db46ffdf7ccdb755d1f2f2d9d73dc34493283f
You're receiving this email because of your account on gitlab.archlinux.org.


Reply via email to