55set -ex
66
77NCCL_VERSION=v2.21.5-1
8- CUDNN_VERSION=9.1.0.70
8+ CUDNN_VERSION=9.5.1.17
99
1010function install_cusparselt_040 {
1111 # cuSparseLt license: https://docs.nvidia.com/cuda/cusparselt/license.html
@@ -40,7 +40,19 @@ function install_cusparselt_062 {
4040 rm -rf tmp_cusparselt
4141}
4242
43+ function install_cusparselt_063 {
44+ # cuSparseLt license: https://docs.nvidia.com/cuda/cusparselt/license.html
45+ mkdir tmp_cusparselt && pushd tmp_cusparselt
46+ wget -q https://developer.download.nvidia.com/compute/cusparselt/redist/libcusparse_lt/linux-x86_64/libcusparse_lt-linux-x86_64-0.6.3.2-archive.tar.xz
47+ tar xf libcusparse_lt-linux-x86_64-0.6.3.2-archive.tar.xz
48+ cp -a libcusparse_lt-linux-x86_64-0.6.3.2-archive/include/* /usr/local/cuda/include/
49+ cp -a libcusparse_lt-linux-x86_64-0.6.3.2-archive/lib/* /usr/local/cuda/lib64/
50+ popd
51+ rm -rf tmp_cusparselt
52+ }
53+
4354function install_118 {
55+ CUDNN_VERSION=9.1.0.70
4456 echo " Installing CUDA 11.8 and cuDNN ${CUDNN_VERSION} and NCCL ${NCCL_VERSION} and cuSparseLt-0.4.0"
4557 rm -rf /usr/local/cuda-11.8 /usr/local/cuda
4658 # install CUDA 11.8.0 in the same container
@@ -107,6 +119,7 @@ function install_121 {
107119}
108120
109121function install_124 {
122+ CUDNN_VERSION=9.1.0.70
110123 echo " Installing CUDA 12.4.1 and cuDNN ${CUDNN_VERSION} and NCCL ${NCCL_VERSION} and cuSparseLt-0.6.2"
111124 rm -rf /usr/local/cuda-12.4 /usr/local/cuda
112125 # install CUDA 12.4.1 in the same container
@@ -140,13 +153,13 @@ function install_124 {
140153}
141154
142155function install_126 {
143- echo " Installing CUDA 12.6.2 and cuDNN ${CUDNN_VERSION} and NCCL ${NCCL_VERSION} and cuSparseLt-0.6.2 "
156+ echo " Installing CUDA 12.6.3 and cuDNN ${CUDNN_VERSION} and NCCL ${NCCL_VERSION} and cuSparseLt-0.6.3 "
144157 rm -rf /usr/local/cuda-12.6 /usr/local/cuda
145- # install CUDA 12.6.2 in the same container
146- wget -q https://developer.download.nvidia.com/compute/cuda/12.6.2 /local_installers/cuda_12.6.2_560 .35.03_linux .run
147- chmod +x cuda_12.6.2_560 .35.03_linux .run
148- ./cuda_12.6.2_560 .35.03_linux .run --toolkit --silent
149- rm -f cuda_12.6.2_560 .35.03_linux .run
158+ # install CUDA 12.6.3 in the same container
159+ wget -q https://developer.download.nvidia.com/compute/cuda/12.6.3 /local_installers/cuda_12.6.3_560 .35.05_linux .run
160+ chmod +x cuda_12.6.3_560 .35.05_linux .run
161+ ./cuda_12.6.3_560 .35.05_linux .run --toolkit --silent
162+ rm -f cuda_12.6.3_560 .35.05_linux .run
150163 rm -f /usr/local/cuda && ln -s /usr/local/cuda-12.6 /usr/local/cuda
151164
152165 # cuDNN license: https://developer.nvidia.com/cudnn/license_agreement
@@ -167,7 +180,7 @@ function install_126 {
167180 cd ..
168181 rm -rf nccl
169182
170- install_cusparselt_062
183+ install_cusparselt_063
171184
172185 ldconfig
173186}
@@ -302,6 +315,40 @@ function prune_126 {
302315 rm -rf $CUDA_BASE /libnvvp $CUDA_BASE /nsightee_plugins $CUDA_BASE /nsight-compute-2024.3.2 $CUDA_BASE /nsight-systems-2024.5.1/
303316}
304317
318+ function install_128 {
319+ CUDNN_VERSION=9.7.0.66
320+ echo " Installing CUDA 12.8.0 and cuDNN ${CUDNN_VERSION} and NCCL ${NCCL_VERSION} and cuSparseLt-0.6.3"
321+ rm -rf /usr/local/cuda-12.8 /usr/local/cuda
322+ # install CUDA 12.8.0 in the same container
323+ wget -q https://developer.download.nvidia.com/compute/cuda/12.8.0/local_installers/cuda_12.8.0_570.86.10_linux.run
324+ chmod +x cuda_12.8.0_570.86.10_linux.run
325+ ./cuda_12.8.0_570.86.10_linux.run --toolkit --silent
326+ rm -f cuda_12.8.0_570.86.10_linux.run
327+ rm -f /usr/local/cuda && ln -s /usr/local/cuda-12.8 /usr/local/cuda
328+
329+ # cuDNN license: https://developer.nvidia.com/cudnn/license_agreement
330+ mkdir tmp_cudnn && cd tmp_cudnn
331+ 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
332+ tar xf cudnn-linux-x86_64-${CUDNN_VERSION} _cuda12-archive.tar.xz
333+ cp -a cudnn-linux-x86_64-${CUDNN_VERSION} _cuda12-archive/include/* /usr/local/cuda/include/
334+ cp -a cudnn-linux-x86_64-${CUDNN_VERSION} _cuda12-archive/lib/* /usr/local/cuda/lib64/
335+ cd ..
336+ rm -rf tmp_cudnn
337+
338+ # NCCL license: https://docs.nvidia.com/deeplearning/nccl/#licenses
339+ # Follow build: https://github.com/NVIDIA/nccl/tree/master?tab=readme-ov-file#build
340+ git clone -b $NCCL_VERSION --depth 1 https://github.com/NVIDIA/nccl.git
341+ cd nccl && make -j src.build
342+ cp -a build/include/* /usr/local/cuda/include/
343+ cp -a build/lib/* /usr/local/cuda/lib64/
344+ cd ..
345+ rm -rf nccl
346+
347+ install_cusparselt_063
348+
349+ ldconfig
350+ }
351+
305352# idiomatic parameter and option handling in sh
306353while test $# -gt 0
307354do
314361 ;;
315362 12.6) install_126; prune_126
316363 ;;
364+ 12.8) install_128;
365+ ;;
317366 * ) echo " bad argument $1 " ; exit 1
318367 ;;
319368 esac
0 commit comments