From f89860235fd872b190f948d83879790118d9a713 Mon Sep 17 00:00:00 2001 From: MahmoudAshraf97 Date: Thu, 17 Oct 2024 13:47:54 +0300 Subject: [PATCH 1/6] upgrade cudnn installations --- python/tools/prepare_build_environment_linux.sh | 2 +- python/tools/prepare_build_environment_windows.sh | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/python/tools/prepare_build_environment_linux.sh b/python/tools/prepare_build_environment_linux.sh index b47b865f5..c92ef4b58 100755 --- a/python/tools/prepare_build_environment_linux.sh +++ b/python/tools/prepare_build_environment_linux.sh @@ -29,7 +29,7 @@ else cuda-nvcc-12-2-12.2.140-1 \ cuda-cudart-devel-12-2-12.2.140-1 \ libcurand-devel-12-2-10.3.3.141-1 \ - libcudnn8-devel-8.9.7.29-1.cuda12.2 \ + libcudnn9-devel-cuda-12-9.0.0.312-1 \ libcublas-devel-12-2-12.2.5.6-1 \ libnccl-devel-2.19.3-1+cuda12.2 ln -s cuda-12.2 /usr/local/cuda diff --git a/python/tools/prepare_build_environment_windows.sh b/python/tools/prepare_build_environment_windows.sh index 1a4d76eeb..44f2dd498 100755 --- a/python/tools/prepare_build_environment_windows.sh +++ b/python/tools/prepare_build_environment_windows.sh @@ -8,8 +8,8 @@ curl -L -nv -o cuda.exe https://developer.download.nvidia.com/compute/cuda/12.2. ./cuda.exe -s nvcc_12.2 cudart_12.2 cublas_dev_12.2 curand_dev_12.2 rm cuda.exe -CUDNN_ROOT="C:/Program Files/NVIDIA/CUDNN/v8.8" -curl -L -nv -o cudnn.exe https://developer.download.nvidia.com/compute/redist/cudnn/v8.8.0/local_installers/12.0/cudnn_8.8.0.121_windows.exe +CUDNN_ROOT="C:/Program Files/NVIDIA/CUDNN/v9.0" +curl -L -nv -o cudnn.exe https://developer.download.nvidia.com/compute/cudnn/9.0.0/local_installers/cudnn_9.0.0_windows.exe ./cudnn.exe -s sleep 10 cp -r "$CUDNN_ROOT"/* "$CUDA_ROOT" @@ -40,4 +40,4 @@ rm -r build cp README.md python/ cp $CTRANSLATE2_ROOT/bin/ctranslate2.dll python/ctranslate2/ cp "C:/Program Files (x86)/Intel/oneAPI/compiler/latest/windows/redist/intel64_win/compiler/libiomp5md.dll" python/ctranslate2/ -cp "$CUDA_ROOT/bin/cudnn64_8.dll" python/ctranslate2/ +cp "$CUDA_ROOT/bin/cudnn64_9.dll" python/ctranslate2/ From c7fa2d3370f617f37be554561d8297ae40bcd5fd Mon Sep 17 00:00:00 2001 From: MahmoudAshraf97 Date: Thu, 17 Oct 2024 15:15:12 +0300 Subject: [PATCH 2/6] upgrade cudnn to 9.1 --- python/tools/prepare_build_environment_linux.sh | 4 ++-- python/tools/prepare_build_environment_windows.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/python/tools/prepare_build_environment_linux.sh b/python/tools/prepare_build_environment_linux.sh index c92ef4b58..61ac171a3 100755 --- a/python/tools/prepare_build_environment_linux.sh +++ b/python/tools/prepare_build_environment_linux.sh @@ -20,7 +20,7 @@ if [ "$CIBW_ARCHS" == "aarch64" ]; then else # Install CUDA 12.2: - yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo + yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo # error mirrorlist.centos.org doesn't exists anymore. sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo @@ -29,7 +29,7 @@ else cuda-nvcc-12-2-12.2.140-1 \ cuda-cudart-devel-12-2-12.2.140-1 \ libcurand-devel-12-2-10.3.3.141-1 \ - libcudnn9-devel-cuda-12-9.0.0.312-1 \ + libcudnn9-devel-cuda-12-9.1.0.70-1 \ libcublas-devel-12-2-12.2.5.6-1 \ libnccl-devel-2.19.3-1+cuda12.2 ln -s cuda-12.2 /usr/local/cuda diff --git a/python/tools/prepare_build_environment_windows.sh b/python/tools/prepare_build_environment_windows.sh index 44f2dd498..9050aef0e 100755 --- a/python/tools/prepare_build_environment_windows.sh +++ b/python/tools/prepare_build_environment_windows.sh @@ -8,8 +8,8 @@ curl -L -nv -o cuda.exe https://developer.download.nvidia.com/compute/cuda/12.2. ./cuda.exe -s nvcc_12.2 cudart_12.2 cublas_dev_12.2 curand_dev_12.2 rm cuda.exe -CUDNN_ROOT="C:/Program Files/NVIDIA/CUDNN/v9.0" -curl -L -nv -o cudnn.exe https://developer.download.nvidia.com/compute/cudnn/9.0.0/local_installers/cudnn_9.0.0_windows.exe +CUDNN_ROOT="C:/Program Files/NVIDIA/CUDNN/v9.1" +curl -L -nv -o cudnn.exe https://developer.download.nvidia.com/compute/cudnn/9.1.0/local_installers/cudnn_9.1.0_windows.exe ./cudnn.exe -s sleep 10 cp -r "$CUDNN_ROOT"/* "$CUDA_ROOT" From b6161adae7ba6018610a536ddeda2e24a5afc98b Mon Sep 17 00:00:00 2001 From: MahmoudAshraf97 Date: Thu, 17 Oct 2024 15:44:59 +0300 Subject: [PATCH 3/6] explicitly pass CUDNN_ROOT to cmake --- python/tools/prepare_build_environment_windows.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/tools/prepare_build_environment_windows.sh b/python/tools/prepare_build_environment_windows.sh index 9050aef0e..75a0d77a5 100755 --- a/python/tools/prepare_build_environment_windows.sh +++ b/python/tools/prepare_build_environment_windows.sh @@ -32,7 +32,7 @@ rm -r oneDNN-* mkdir build cd build -cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$CTRANSLATE2_ROOT -DCMAKE_PREFIX_PATH="C:/Program Files (x86)/Intel/oneAPI/compiler/latest/windows/compiler/lib/intel64_win;C:/Program Files (x86)/oneDNN" -DBUILD_CLI=OFF -DWITH_DNNL=ON -DWITH_CUDA=ON -DWITH_CUDNN=ON -DCUDA_TOOLKIT_ROOT_DIR="$CUDA_ROOT" -DCUDA_DYNAMIC_LOADING=ON -DCUDA_NVCC_FLAGS="-Xfatbin=-compress-all" -DCUDA_ARCH_LIST="Common" .. +cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$CTRANSLATE2_ROOT -DCMAKE_PREFIX_PATH="C:/Program Files (x86)/Intel/oneAPI/compiler/latest/windows/compiler/lib/intel64_win;C:/Program Files (x86)/oneDNN" -DBUILD_CLI=OFF -DWITH_DNNL=ON -DWITH_CUDA=ON -DWITH_CUDNN=ON -DCUDA_TOOLKIT_ROOT_DIR="$CUDA_ROOT" -DCUDNN_LIBRARY="${CUDNN_ROOT}\lib" -DCUDNN_INCLUDE_DIR="${CUDNN_ROOT}\include" -DCUDA_DYNAMIC_LOADING=ON -DCUDA_NVCC_FLAGS="-Xfatbin=-compress-all" -DCUDA_ARCH_LIST="Common" .. cmake --build . --config Release --target install --parallel 6 --verbose cd .. rm -r build From 2a1972499a0978cc1138fcf2cf9d2d7d0532f16d Mon Sep 17 00:00:00 2001 From: MahmoudAshraf97 Date: Thu, 17 Oct 2024 17:46:26 +0300 Subject: [PATCH 4/6] update cudnn dirs --- python/tools/prepare_build_environment_windows.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/tools/prepare_build_environment_windows.sh b/python/tools/prepare_build_environment_windows.sh index 75a0d77a5..fdfc318b6 100755 --- a/python/tools/prepare_build_environment_windows.sh +++ b/python/tools/prepare_build_environment_windows.sh @@ -32,7 +32,7 @@ rm -r oneDNN-* mkdir build cd build -cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$CTRANSLATE2_ROOT -DCMAKE_PREFIX_PATH="C:/Program Files (x86)/Intel/oneAPI/compiler/latest/windows/compiler/lib/intel64_win;C:/Program Files (x86)/oneDNN" -DBUILD_CLI=OFF -DWITH_DNNL=ON -DWITH_CUDA=ON -DWITH_CUDNN=ON -DCUDA_TOOLKIT_ROOT_DIR="$CUDA_ROOT" -DCUDNN_LIBRARY="${CUDNN_ROOT}\lib" -DCUDNN_INCLUDE_DIR="${CUDNN_ROOT}\include" -DCUDA_DYNAMIC_LOADING=ON -DCUDA_NVCC_FLAGS="-Xfatbin=-compress-all" -DCUDA_ARCH_LIST="Common" .. +cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$CTRANSLATE2_ROOT -DCMAKE_PREFIX_PATH="C:/Program Files (x86)/Intel/oneAPI/compiler/latest/windows/compiler/lib/intel64_win;C:/Program Files (x86)/oneDNN" -DBUILD_CLI=OFF -DWITH_DNNL=ON -DWITH_CUDA=ON -DWITH_CUDNN=ON -DCUDA_TOOLKIT_ROOT_DIR="$CUDA_ROOT" -DCUDNN_LIBRARY="${CUDNN_ROOT}\lib\12.4\x64" -DCUDNN_INCLUDE_DIR="${CUDNN_ROOT}\include\12.4" -DCUDA_DYNAMIC_LOADING=ON -DCUDA_NVCC_FLAGS="-Xfatbin=-compress-all" -DCUDA_ARCH_LIST="Common" .. cmake --build . --config Release --target install --parallel 6 --verbose cd .. rm -r build From 8fb37402d713726467b6ce840b1969f2c5eb0e1d Mon Sep 17 00:00:00 2001 From: MahmoudAshraf97 Date: Thu, 17 Oct 2024 18:00:38 +0300 Subject: [PATCH 5/6] fix windows cudnn path --- python/tools/prepare_build_environment_windows.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/tools/prepare_build_environment_windows.sh b/python/tools/prepare_build_environment_windows.sh index fdfc318b6..49fd96f03 100755 --- a/python/tools/prepare_build_environment_windows.sh +++ b/python/tools/prepare_build_environment_windows.sh @@ -32,7 +32,7 @@ rm -r oneDNN-* mkdir build cd build -cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$CTRANSLATE2_ROOT -DCMAKE_PREFIX_PATH="C:/Program Files (x86)/Intel/oneAPI/compiler/latest/windows/compiler/lib/intel64_win;C:/Program Files (x86)/oneDNN" -DBUILD_CLI=OFF -DWITH_DNNL=ON -DWITH_CUDA=ON -DWITH_CUDNN=ON -DCUDA_TOOLKIT_ROOT_DIR="$CUDA_ROOT" -DCUDNN_LIBRARY="${CUDNN_ROOT}\lib\12.4\x64" -DCUDNN_INCLUDE_DIR="${CUDNN_ROOT}\include\12.4" -DCUDA_DYNAMIC_LOADING=ON -DCUDA_NVCC_FLAGS="-Xfatbin=-compress-all" -DCUDA_ARCH_LIST="Common" .. +cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$CTRANSLATE2_ROOT -DCMAKE_PREFIX_PATH="C:/Program Files (x86)/Intel/oneAPI/compiler/latest/windows/compiler/lib/intel64_win;C:/Program Files (x86)/oneDNN" -DBUILD_CLI=OFF -DWITH_DNNL=ON -DWITH_CUDA=ON -DWITH_CUDNN=ON -DCUDA_TOOLKIT_ROOT_DIR="$CUDA_ROOT" -DCUDNN_LIBRARY="${CUDNN_ROOT}/lib/12.4/x64" -DCUDNN_INCLUDE_DIR="${CUDNN_ROOT}/include/12.4" -DCUDA_DYNAMIC_LOADING=ON -DCUDA_NVCC_FLAGS="-Xfatbin=-compress-all" -DCUDA_ARCH_LIST="Common" .. cmake --build . --config Release --target install --parallel 6 --verbose cd .. rm -r build @@ -40,4 +40,4 @@ rm -r build cp README.md python/ cp $CTRANSLATE2_ROOT/bin/ctranslate2.dll python/ctranslate2/ cp "C:/Program Files (x86)/Intel/oneAPI/compiler/latest/windows/redist/intel64_win/compiler/libiomp5md.dll" python/ctranslate2/ -cp "$CUDA_ROOT/bin/cudnn64_9.dll" python/ctranslate2/ +cp "$CUDA_ROOT/bin/12.4/cudnn64_9.dll" python/ctranslate2/ From 0f4e521edd8cc61400da1927362c8fa403dd13b0 Mon Sep 17 00:00:00 2001 From: MahmoudAshraf97 Date: Thu, 17 Oct 2024 18:40:26 +0300 Subject: [PATCH 6/6] .. --- .../tools/prepare_build_environment_windows.sh | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/python/tools/prepare_build_environment_windows.sh b/python/tools/prepare_build_environment_windows.sh index 49fd96f03..f72aad035 100755 --- a/python/tools/prepare_build_environment_windows.sh +++ b/python/tools/prepare_build_environment_windows.sh @@ -12,6 +12,20 @@ CUDNN_ROOT="C:/Program Files/NVIDIA/CUDNN/v9.1" curl -L -nv -o cudnn.exe https://developer.download.nvidia.com/compute/cudnn/9.1.0/local_installers/cudnn_9.1.0_windows.exe ./cudnn.exe -s sleep 10 +# Remove 11.8 folders +rm -rf "$CUDNN_ROOT/bin/11.8" +rm -rf "$CUDNN_ROOT/lib/11.8" +rm -rf "$CUDNN_ROOT/include/11.8" + +# Move contents of 12.4 to parent directories +mv "$CUDNN_ROOT/bin/12.4/"* "$CUDNN_ROOT/bin/" +mv "$CUDNN_ROOT/lib/12.4/"* "$CUDNN_ROOT/lib/" +mv "$CUDNN_ROOT/include/12.4/"* "$CUDNN_ROOT/include/" + +# Remove empty 12.4 folders +rmdir "$CUDNN_ROOT/bin/12.4" +rmdir "$CUDNN_ROOT/lib/12.4" +rmdir "$CUDNN_ROOT/include/12.4" cp -r "$CUDNN_ROOT"/* "$CUDA_ROOT" rm cudnn.exe @@ -32,7 +46,7 @@ rm -r oneDNN-* mkdir build cd build -cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$CTRANSLATE2_ROOT -DCMAKE_PREFIX_PATH="C:/Program Files (x86)/Intel/oneAPI/compiler/latest/windows/compiler/lib/intel64_win;C:/Program Files (x86)/oneDNN" -DBUILD_CLI=OFF -DWITH_DNNL=ON -DWITH_CUDA=ON -DWITH_CUDNN=ON -DCUDA_TOOLKIT_ROOT_DIR="$CUDA_ROOT" -DCUDNN_LIBRARY="${CUDNN_ROOT}/lib/12.4/x64" -DCUDNN_INCLUDE_DIR="${CUDNN_ROOT}/include/12.4" -DCUDA_DYNAMIC_LOADING=ON -DCUDA_NVCC_FLAGS="-Xfatbin=-compress-all" -DCUDA_ARCH_LIST="Common" .. +cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$CTRANSLATE2_ROOT -DCMAKE_PREFIX_PATH="C:/Program Files (x86)/Intel/oneAPI/compiler/latest/windows/compiler/lib/intel64_win;C:/Program Files (x86)/oneDNN" -DBUILD_CLI=OFF -DWITH_DNNL=ON -DWITH_CUDA=ON -DWITH_CUDNN=ON -DCUDA_TOOLKIT_ROOT_DIR="$CUDA_ROOT" -DCUDA_DYNAMIC_LOADING=ON -DCUDA_NVCC_FLAGS="-Xfatbin=-compress-all" -DCUDA_ARCH_LIST="Common" .. cmake --build . --config Release --target install --parallel 6 --verbose cd .. rm -r build @@ -40,4 +54,4 @@ rm -r build cp README.md python/ cp $CTRANSLATE2_ROOT/bin/ctranslate2.dll python/ctranslate2/ cp "C:/Program Files (x86)/Intel/oneAPI/compiler/latest/windows/redist/intel64_win/compiler/libiomp5md.dll" python/ctranslate2/ -cp "$CUDA_ROOT/bin/12.4/cudnn64_9.dll" python/ctranslate2/ +cp "$CUDA_ROOT/bin/cudnn64_9.dll" python/ctranslate2/