diff --git a/aarch64_linux/aarch64_wheel_ci_build.py b/aarch64_linux/aarch64_wheel_ci_build.py index 4a3cfd38f..f6d94e06d 100755 --- a/aarch64_linux/aarch64_wheel_ci_build.py +++ b/aarch64_linux/aarch64_wheel_ci_build.py @@ -65,7 +65,7 @@ def update_wheel(wheel_path) -> None: os.system(f"unzip {wheel_path} -d {folder}/tmp") libs_to_copy = [ "/usr/local/cuda/extras/CUPTI/lib64/libcupti.so.12", - "/usr/local/cuda/lib64/libcudnn.so.8", + "/usr/local/cuda/lib64/libcudnn.so.9", "/usr/local/cuda/lib64/libcublas.so.12", "/usr/local/cuda/lib64/libcublasLt.so.12", "/usr/local/cuda/lib64/libcudart.so.12", @@ -78,12 +78,13 @@ def update_wheel(wheel_path) -> None: "/usr/local/cuda/lib64/libnvJitLink.so.12", "/usr/local/cuda/lib64/libnvrtc.so.12", "/usr/local/cuda/lib64/libnvrtc-builtins.so.12.4", - "/usr/local/cuda/lib64/libcudnn_adv_infer.so.8", - "/usr/local/cuda/lib64/libcudnn_adv_train.so.8", - "/usr/local/cuda/lib64/libcudnn_cnn_infer.so.8", - "/usr/local/cuda/lib64/libcudnn_cnn_train.so.8", - "/usr/local/cuda/lib64/libcudnn_ops_infer.so.8", - "/usr/local/cuda/lib64/libcudnn_ops_train.so.8", + "/usr/local/cuda/lib64/libcudnn_adv.so.9" + "/usr/local/cuda/lib64/libcudnn_cnn.so.9" + "/usr/local/cuda/lib64/libcudnn_graph.so.9" + "/usr/local/cuda/lib64/libcudnn_ops.so.9" + "/usr/local/cuda/lib64/libcudnn_engines_runtime_compiled.so.9" + "/usr/local/cuda/lib64/libcudnn_engines_precompiled.so.9" + "/usr/local/cuda/lib64/libcudnn_heuristic.so.9" "/opt/conda/envs/aarch64_env/lib/libgomp.so.1", "/opt/OpenBLAS/lib/libopenblas.so.0", "/acl/build/libarm_compute.so", diff --git a/common/install_cuda.sh b/common/install_cuda.sh index ad06342be..d79c8c1e7 100644 --- a/common/install_cuda.sh +++ b/common/install_cuda.sh @@ -2,6 +2,8 @@ set -ex +CUDNN_VERSION=9.1.0.70 + function install_cusparselt_040 { # cuSparseLt license: https://docs.nvidia.com/cuda/cusparselt/license.html mkdir tmp_cusparselt && pushd tmp_cusparselt @@ -25,7 +27,7 @@ function install_cusparselt_052 { } function install_118 { - echo "Installing CUDA 11.8 and cuDNN 8.7 and NCCL 2.15 and cuSparseLt-0.4.0" + echo "Installing CUDA 11.8 and cuDNN ${CUDNN_VERSION} and NCCL 2.15 and cuSparseLt-0.4.0" rm -rf /usr/local/cuda-11.8 /usr/local/cuda # install CUDA 11.8.0 in the same container wget -q https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run @@ -36,10 +38,10 @@ function install_118 { # cuDNN license: https://developer.nvidia.com/cudnn/license_agreement mkdir tmp_cudnn && cd tmp_cudnn - wget -q https://developer.download.nvidia.com/compute/redist/cudnn/v8.7.0/local_installers/11.8/cudnn-linux-x86_64-8.7.0.84_cuda11-archive.tar.xz -O cudnn-linux-x86_64-8.7.0.84_cuda11-archive.tar.xz - tar xf cudnn-linux-x86_64-8.7.0.84_cuda11-archive.tar.xz - cp -a cudnn-linux-x86_64-8.7.0.84_cuda11-archive/include/* /usr/local/cuda/include/ - cp -a cudnn-linux-x86_64-8.7.0.84_cuda11-archive/lib/* /usr/local/cuda/lib64/ + wget -q https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-${CUDNN_VERSION}_cuda11-archive.tar.xz -O cudnn-linux-x86_64-${CUDNN_VERSION}_cuda11-archive.tar.xz + tar xf cudnn-linux-x86_64-${CUDNN_VERSION}_cuda11-archive.tar.xz + cp -a cudnn-linux-x86_64-${CUDNN_VERSION}_cuda11-archive/include/* /usr/local/cuda/include/ + cp -a cudnn-linux-x86_64-${CUDNN_VERSION}_cuda11-archive/lib/* /usr/local/cuda/lib64/ cd .. rm -rf tmp_cudnn @@ -58,7 +60,7 @@ function install_118 { } function install_121 { - echo "Installing CUDA 12.1 and cuDNN 8.9 and NCCL 2.20.5 and cuSparseLt-0.5.2" + echo "Installing CUDA 12.1 and cuDNN ${CUDNN_VERSION} and NCCL 2.20.5 and cuSparseLt-0.5.2" rm -rf /usr/local/cuda-12.1 /usr/local/cuda # install CUDA 12.1.0 in the same container wget -q https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run @@ -69,10 +71,10 @@ function install_121 { # cuDNN license: https://developer.nvidia.com/cudnn/license_agreement mkdir tmp_cudnn && cd tmp_cudnn - wget -q https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.9.2.26_cuda12-archive.tar.xz -O cudnn-linux-x86_64-8.9.2.26_cuda12-archive.tar.xz - tar xf cudnn-linux-x86_64-8.9.2.26_cuda12-archive.tar.xz - cp -a cudnn-linux-x86_64-8.9.2.26_cuda12-archive/include/* /usr/local/cuda/include/ - cp -a cudnn-linux-x86_64-8.9.2.26_cuda12-archive/lib/* /usr/local/cuda/lib64/ + wget -q https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-${CUDNN_VERSION}_cuda12-archive.tar.xz -O cudnn-linux-x86_64-${CUDNN_VERSION}_cuda12-archive.tar.xz + tar xf cudnn-linux-x86_64-${CUDNN_VERSION}_cuda12-archive.tar.xz + cp -a cudnn-linux-x86_64-${CUDNN_VERSION}_cuda12-archive/include/* /usr/local/cuda/include/ + cp -a cudnn-linux-x86_64-${CUDNN_VERSION}_cuda12-archive/lib/* /usr/local/cuda/lib64/ cd .. rm -rf tmp_cudnn @@ -91,7 +93,7 @@ function install_121 { } function install_124 { - echo "Installing CUDA 12.4 and cuDNN 8.9 and NCCL 2.20.5 and cuSparseLt-0.5.2" + echo "Installing CUDA 12.4 and cuDNN ${CUDNN_VERSION} and NCCL 2.20.5 and cuSparseLt-0.5.2" rm -rf /usr/local/cuda-12.4 /usr/local/cuda # install CUDA 12.4.0 in the same container wget -q https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run @@ -102,10 +104,10 @@ function install_124 { # cuDNN license: https://developer.nvidia.com/cudnn/license_agreement mkdir tmp_cudnn && cd tmp_cudnn - wget -q https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.9.2.26_cuda12-archive.tar.xz -O cudnn-linux-x86_64-8.9.2.26_cuda12-archive.tar.xz - tar xf cudnn-linux-x86_64-8.9.2.26_cuda12-archive.tar.xz - cp -a cudnn-linux-x86_64-8.9.2.26_cuda12-archive/include/* /usr/local/cuda/include/ - cp -a cudnn-linux-x86_64-8.9.2.26_cuda12-archive/lib/* /usr/local/cuda/lib64/ + wget -q https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-${CUDNN_VERSION}_cuda12-archive.tar.xz -O cudnn-linux-x86_64-${CUDNN_VERSION}_cuda12-archive.tar.xz + tar xf cudnn-linux-x86_64-${CUDNN_VERSION}_cuda12-archive.tar.xz + cp -a cudnn-linux-x86_64-${CUDNN_VERSION}_cuda12-archive/include/* /usr/local/cuda/include/ + cp -a cudnn-linux-x86_64-${CUDNN_VERSION}_cuda12-archive/lib/* /usr/local/cuda/lib64/ cd .. rm -rf tmp_cudnn diff --git a/common/install_cuda_aarch64.sh b/common/install_cuda_aarch64.sh index ba97385bd..51fd8c1f2 100644 --- a/common/install_cuda_aarch64.sh +++ b/common/install_cuda_aarch64.sh @@ -14,7 +14,7 @@ function install_cusparselt_052 { } function install_124 { - echo "Installing CUDA 12.4 and cuDNN 8.9 and NCCL 2.20.5 and cuSparseLt-0.5.2" + echo "Installing CUDA 12.4 and cuDNN 9.1 and NCCL 2.20.5 and cuSparseLt-0.5.2" rm -rf /usr/local/cuda-12.4 /usr/local/cuda # install CUDA 12.4.0 in the same container wget -q https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux_sbsa.run @@ -25,10 +25,10 @@ function install_124 { # cuDNN license: https://developer.nvidia.com/cudnn/license_agreement mkdir tmp_cudnn && cd tmp_cudnn - wget -q https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-sbsa/cudnn-linux-sbsa-8.9.2.26_cuda12-archive.tar.xz -O cudnn-linux-sbsa-8.9.2.26_cuda12-archive.tar.xz - tar xf cudnn-linux-sbsa-8.9.2.26_cuda12-archive.tar.xz - cp -a cudnn-linux-sbsa-8.9.2.26_cuda12-archive/include/* /usr/local/cuda/include/ - cp -a cudnn-linux-sbsa-8.9.2.26_cuda12-archive/lib/* /usr/local/cuda/lib64/ + wget -q https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-sbsa/cudnn-linux-sbsa-9.1.0.70_cuda12-archive.tar.xz -O cudnn-linux-sbsa-9.1.0.70_cuda12-archive.tar.xz + tar xf cudnn-linux-sbsa-9.1.0.70_cuda12-archive.tar.xz + cp -a cudnn-linux-sbsa-9.1.0.70_cuda12-archive/include/* /usr/local/cuda/include/ + cp -a cudnn-linux-sbsa-9.1.0.70_cuda12-archive/lib/* /usr/local/cuda/lib64/ cd .. rm -rf tmp_cudnn diff --git a/conda/pytorch-nightly/build.sh b/conda/pytorch-nightly/build.sh index 63a8fc501..eee3a3d86 100755 --- a/conda/pytorch-nightly/build.sh +++ b/conda/pytorch-nightly/build.sh @@ -59,12 +59,12 @@ if [[ -n "$build_with_cuda" ]]; then if [[ $CUDA_VERSION == 11.8* ]]; then TORCH_CUDA_ARCH_LIST="$TORCH_CUDA_ARCH_LIST;3.7+PTX;9.0" #for cuda 11.8 include all dynamic loading libraries - DEPS_LIST=(/usr/local/cuda/lib64/libcudnn*.so.8 /usr/local/cuda-11.8/extras/CUPTI/lib64/libcupti.so.11.8 /usr/local/cuda/lib64/libcusparseLt.so.0) + DEPS_LIST=(/usr/local/cuda/lib64/libcudnn*.so.9 /usr/local/cuda-11.8/extras/CUPTI/lib64/libcupti.so.11.8 /usr/local/cuda/lib64/libcusparseLt.so.0) elif [[ $CUDA_VERSION == 12.1* || $CUDA_VERSION == 12.4* ]]; then # cuda 12 does not support sm_3x TORCH_CUDA_ARCH_LIST="$TORCH_CUDA_ARCH_LIST;9.0" - # for cuda 12.1 (12.4) we use cudnn 8.8 (8.9) and include all dynamic loading libraries - DEPS_LIST=(/usr/local/cuda/lib64/libcudnn*.so.8 /usr/local/cuda/extras/CUPTI/lib64/libcupti.so.12 /usr/local/cuda/lib64/libcusparseLt.so.0) + # for cuda 12.1 (12.4) we use cudnn 9.1 and include all dynamic loading libraries + DEPS_LIST=(/usr/local/cuda/lib64/libcudnn*.so.9 /usr/local/cuda/extras/CUPTI/lib64/libcupti.so.12 /usr/local/cuda/lib64/libcusparseLt.so.0) fi if [[ -n "$OVERRIDE_TORCH_CUDA_ARCH_LIST" ]]; then TORCH_CUDA_ARCH_LIST="$OVERRIDE_TORCH_CUDA_ARCH_LIST" diff --git a/manywheel/build_cuda.sh b/manywheel/build_cuda.sh index ffc280e42..1d8e8b295 100644 --- a/manywheel/build_cuda.sh +++ b/manywheel/build_cuda.sh @@ -149,13 +149,14 @@ if [[ $CUDA_VERSION == "12.1" || $CUDA_VERSION == "12.4" ]]; then if [[ -z "$PYTORCH_EXTRA_INSTALL_REQUIREMENTS" ]]; then echo "Bundling with cudnn and cublas." DEPS_LIST+=( - "/usr/local/cuda/lib64/libcudnn_adv_infer.so.8" - "/usr/local/cuda/lib64/libcudnn_adv_train.so.8" - "/usr/local/cuda/lib64/libcudnn_cnn_infer.so.8" - "/usr/local/cuda/lib64/libcudnn_cnn_train.so.8" - "/usr/local/cuda/lib64/libcudnn_ops_infer.so.8" - "/usr/local/cuda/lib64/libcudnn_ops_train.so.8" - "/usr/local/cuda/lib64/libcudnn.so.8" + "/usr/local/cuda/lib64/libcudnn_adv.so.9" + "/usr/local/cuda/lib64/libcudnn_cnn.so.9" + "/usr/local/cuda/lib64/libcudnn_graph.so.9" + "/usr/local/cuda/lib64/libcudnn_ops.so.9" + "/usr/local/cuda/lib64/libcudnn_engines_runtime_compiled.so.9" + "/usr/local/cuda/lib64/libcudnn_engines_precompiled.so.9" + "/usr/local/cuda/lib64/libcudnn_heuristic.so.9" + "/usr/local/cuda/lib64/libcudnn.so.9" "/usr/local/cuda/lib64/libcublas.so.12" "/usr/local/cuda/lib64/libcublasLt.so.12" "/usr/local/cuda/lib64/libcudart.so.12" @@ -164,13 +165,14 @@ if [[ $CUDA_VERSION == "12.1" || $CUDA_VERSION == "12.4" ]]; then "/usr/local/cuda/lib64/libnvrtc-builtins.so" ) DEPS_SONAME+=( - "libcudnn_adv_infer.so.8" - "libcudnn_adv_train.so.8" - "libcudnn_cnn_infer.so.8" - "libcudnn_cnn_train.so.8" - "libcudnn_ops_infer.so.8" - "libcudnn_ops_train.so.8" - "libcudnn.so.8" + "libcudnn_adv.so.9" + "libcudnn_cnn.so.9" + "libcudnn_graph.so.9" + "libcudnn_ops.so.9" + "libcudnn_engines_runtime_compiled.so.9" + "libcudnn_engines_precompiled.so.9" + "libcudnn_heuristic.so.9" + "libcudnn.so.9" "libcublas.so.12" "libcublasLt.so.12" "libcudart.so.12" @@ -215,13 +217,14 @@ elif [[ $CUDA_VERSION == "11.8" ]]; then if [[ -z "$PYTORCH_EXTRA_INSTALL_REQUIREMENTS" ]]; then echo "Bundling with cudnn and cublas." DEPS_LIST+=( - "/usr/local/cuda/lib64/libcudnn_adv_infer.so.8" - "/usr/local/cuda/lib64/libcudnn_adv_train.so.8" - "/usr/local/cuda/lib64/libcudnn_cnn_infer.so.8" - "/usr/local/cuda/lib64/libcudnn_cnn_train.so.8" - "/usr/local/cuda/lib64/libcudnn_ops_infer.so.8" - "/usr/local/cuda/lib64/libcudnn_ops_train.so.8" - "/usr/local/cuda/lib64/libcudnn.so.8" + "/usr/local/cuda/lib64/libcudnn_adv.so.9" + "/usr/local/cuda/lib64/libcudnn_cnn.so.9" + "/usr/local/cuda/lib64/libcudnn_graph.so.9" + "/usr/local/cuda/lib64/libcudnn_ops.so.9" + "/usr/local/cuda/lib64/libcudnn_engines_runtime_compiled.so.9" + "/usr/local/cuda/lib64/libcudnn_engines_precompiled.so.9" + "/usr/local/cuda/lib64/libcudnn_heuristic.so.9" + "/usr/local/cuda/lib64/libcudnn.so.9" "/usr/local/cuda/lib64/libcublas.so.11" "/usr/local/cuda/lib64/libcublasLt.so.11" "/usr/local/cuda/lib64/libcudart.so.11.0" @@ -230,13 +233,14 @@ elif [[ $CUDA_VERSION == "11.8" ]]; then "/usr/local/cuda/lib64/libnvrtc-builtins.so.11.8" ) DEPS_SONAME+=( - "libcudnn_adv_infer.so.8" - "libcudnn_adv_train.so.8" - "libcudnn_cnn_infer.so.8" - "libcudnn_cnn_train.so.8" - "libcudnn_ops_infer.so.8" - "libcudnn_ops_train.so.8" - "libcudnn.so.8" + "libcudnn_adv.so.9" + "libcudnn_cnn.so.9" + "libcudnn_graph.so.9" + "libcudnn_ops.so.9" + "libcudnn_engines_runtime_compiled.so.9" + "libcudnn_engines_precompiled.so.9" + "libcudnn_heuristic.so.9" + "libcudnn.so.9" "libcublas.so.11" "libcublasLt.so.11" "libcudart.so.11.0" diff --git a/windows/internal/cuda_install.bat b/windows/internal/cuda_install.bat index 62790a51f..d94c2c484 100644 --- a/windows/internal/cuda_install.bat +++ b/windows/internal/cuda_install.bat @@ -36,7 +36,7 @@ if not exist "%SRC_DIR%\temp_build\%CUDA_INSTALL_EXE%" ( set "ARGS=cuda_profiler_api_11.8 thrust_11.8 nvcc_11.8 cuobjdump_11.8 nvprune_11.8 nvprof_11.8 cupti_11.8 cublas_11.8 cublas_dev_11.8 cudart_11.8 cufft_11.8 cufft_dev_11.8 curand_11.8 curand_dev_11.8 cusolver_11.8 cusolver_dev_11.8 cusparse_11.8 cusparse_dev_11.8 npp_11.8 npp_dev_11.8 nvrtc_11.8 nvrtc_dev_11.8 nvml_dev_11.8 nvtx_11.8" ) -set CUDNN_FOLDER=cudnn-windows-x86_64-8.7.0.84_cuda11-archive +set CUDNN_FOLDER=cudnn-windows-x86_64-9.1.0.70_cuda11-archive set CUDNN_LIB_FOLDER="lib" set "CUDNN_INSTALL_ZIP=%CUDNN_FOLDER%.zip" if not exist "%SRC_DIR%\temp_build\%CUDNN_INSTALL_ZIP%" ( @@ -63,7 +63,7 @@ if not exist "%SRC_DIR%\temp_build\%CUDA_INSTALL_EXE%" ( set "ARGS=cuda_profiler_api_12.1 thrust_12.1 nvcc_12.1 cuobjdump_12.1 nvprune_12.1 nvprof_12.1 cupti_12.1 cublas_12.1 cublas_dev_12.1 cudart_12.1 cufft_12.1 cufft_dev_12.1 curand_12.1 curand_dev_12.1 cusolver_12.1 cusolver_dev_12.1 cusparse_12.1 cusparse_dev_12.1 npp_12.1 npp_dev_12.1 nvrtc_12.1 nvrtc_dev_12.1 nvml_dev_12.1 nvjitlink_12.1 nvtx_12.1" ) -set CUDNN_FOLDER=cudnn-windows-x86_64-8.9.2.26_cuda12-archive +set CUDNN_FOLDER=cudnn-windows-x86_64-9.1.0.70_cuda12-archive set CUDNN_LIB_FOLDER="lib" set "CUDNN_INSTALL_ZIP=%CUDNN_FOLDER%.zip" if not exist "%SRC_DIR%\temp_build\%CUDNN_INSTALL_ZIP%" ( @@ -90,7 +90,7 @@ if not exist "%SRC_DIR%\temp_build\%CUDA_INSTALL_EXE%" ( set "ARGS=cuda_profiler_api_12.4 thrust_12.4 nvcc_12.4 cuobjdump_12.4 nvprune_12.4 nvprof_12.4 cupti_12.4 cublas_12.4 cublas_dev_12.4 cudart_12.4 cufft_12.4 cufft_dev_12.4 curand_12.4 curand_dev_12.4 cusolver_12.4 cusolver_dev_12.4 cusparse_12.4 cusparse_dev_12.4 npp_12.4 npp_dev_12.4 nvrtc_12.4 nvrtc_dev_12.4 nvml_dev_12.4 nvjitlink_12.4 nvtx_12.4" ) -set CUDNN_FOLDER=cudnn-windows-x86_64-8.9.7.29_cuda12-archive +set CUDNN_FOLDER=cudnn-windows-x86_64-9.1.0.70_cuda12-archive set CUDNN_LIB_FOLDER="lib" set "CUDNN_INSTALL_ZIP=%CUDNN_FOLDER%.zip" if not exist "%SRC_DIR%\temp_build\%CUDNN_INSTALL_ZIP%" (