|
2 | 2 |
|
3 | 3 | set -ex
|
4 | 4 |
|
5 |
| -function install_102 { |
6 |
| - echo "Installing CUDA 10.2 and CuDNN" |
7 |
| - rm -rf /usr/local/cuda-10.2 /usr/local/cuda |
8 |
| - # # install CUDA 10.2 in the same container |
9 |
| - wget -q http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run |
10 |
| - chmod +x cuda_10.2.89_440.33.01_linux.run |
11 |
| - ./cuda_10.2.89_440.33.01_linux.run --extract=/tmp/cuda |
12 |
| - rm -f cuda_10.2.89_440.33.01_linux.run |
13 |
| - mv /tmp/cuda/cuda-toolkit /usr/local/cuda-10.2 |
14 |
| - rm -rf /tmp/cuda |
15 |
| - rm -f /usr/local/cuda && ln -s /usr/local/cuda-10.2 /usr/local/cuda |
16 |
| - |
17 |
| - # install CUDA 10.2 CuDNN |
18 |
| - # cuDNN license: https://developer.nvidia.com/cudnn/license_agreement |
19 |
| - mkdir tmp_cudnn && cd tmp_cudnn |
20 |
| - wget -q http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64/libcudnn7-dev_7.6.5.32-1+cuda10.2_amd64.deb -O cudnn-dev.deb |
21 |
| - wget -q http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64/libcudnn7_7.6.5.32-1+cuda10.2_amd64.deb -O cudnn.deb |
22 |
| - ar -x cudnn-dev.deb && tar -xvf data.tar.xz |
23 |
| - ar -x cudnn.deb && tar -xvf data.tar.xz |
24 |
| - mkdir -p cuda/include && mkdir -p cuda/lib64 |
25 |
| - cp -a usr/include/x86_64-linux-gnu/cudnn_v7.h cuda/include/cudnn.h |
26 |
| - cp -a usr/lib/x86_64-linux-gnu/libcudnn* cuda/lib64 |
27 |
| - mv cuda/lib64/libcudnn_static_v7.a cuda/lib64/libcudnn_static.a |
28 |
| - ln -s libcudnn.so.7 cuda/lib64/libcudnn.so |
29 |
| - chmod +x cuda/lib64/*.so |
30 |
| - cp -a cuda/include/* /usr/local/cuda/include/ |
31 |
| - cp -a cuda/lib64/* /usr/local/cuda/lib64/ |
32 |
| - cd .. |
33 |
| - rm -rf tmp_cudnn |
34 |
| - ldconfig |
35 |
| -} |
36 |
| - |
37 |
| -function install_113 { |
38 |
| - echo "Installing CUDA 11.3 and CuDNN 8.3" |
39 |
| - rm -rf /usr/local/cuda-11.3 /usr/local/cuda |
40 |
| - # install CUDA 11.3.1 in the same container |
41 |
| - wget -q https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run |
42 |
| - chmod +x cuda_11.3.1_465.19.01_linux.run |
43 |
| - ./cuda_11.3.1_465.19.01_linux.run --toolkit --silent |
44 |
| - rm -f cuda_11.3.1_465.19.01_linux.run |
45 |
| - rm -f /usr/local/cuda && ln -s /usr/local/cuda-11.3 /usr/local/cuda |
46 |
| - |
47 |
| - # cuDNN license: https://developer.nvidia.com/cudnn/license_agreement |
48 |
| - mkdir tmp_cudnn && cd tmp_cudnn |
49 |
| - wget -q https://developer.download.nvidia.com/compute/redist/cudnn/v8.3.2/local_installers/11.5/cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive.tar.xz -O cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive.tar.xz |
50 |
| - tar xf cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive.tar.xz |
51 |
| - cp -a cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive/include/* /usr/local/cuda/include/ |
52 |
| - cp -a cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive/lib/* /usr/local/cuda/lib64/ |
53 |
| - cd .. |
54 |
| - rm -rf tmp_cudnn |
55 |
| - ldconfig |
56 |
| -} |
57 |
| - |
58 |
| -function install_115 { |
59 |
| - echo "Installing CUDA 11.5 and CuDNN 8.3" |
60 |
| - rm -rf /usr/local/cuda-11.5 /usr/local/cuda |
61 |
| - # install CUDA 11.5.0 in the same container |
62 |
| - wget -q https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux.run |
63 |
| - chmod +x cuda_11.5.0_495.29.05_linux.run |
64 |
| - ./cuda_11.5.0_495.29.05_linux.run --toolkit --silent |
65 |
| - rm -f cuda_11.5.0_495.29.05_linux.run |
66 |
| - rm -f /usr/local/cuda && ln -s /usr/local/cuda-11.5 /usr/local/cuda |
67 |
| - |
68 |
| - # cuDNN license: https://developer.nvidia.com/cudnn/license_agreement |
69 |
| - mkdir tmp_cudnn && cd tmp_cudnn |
70 |
| - wget -q https://developer.download.nvidia.com/compute/redist/cudnn/v8.3.2/local_installers/11.5/cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive.tar.xz -O cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive.tar.xz |
71 |
| - tar xf cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive.tar.xz |
72 |
| - cp -a cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive/include/* /usr/local/cuda/include/ |
73 |
| - cp -a cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive/lib/* /usr/local/cuda/lib64/ |
74 |
| - cd .. |
75 |
| - rm -rf tmp_cudnn |
76 |
| - ldconfig |
77 |
| -} |
78 |
| - |
79 | 5 | function install_116 {
|
80 | 6 | echo "Installing CUDA 11.6 and CuDNN 8.3"
|
81 | 7 | rm -rf /usr/local/cuda-11.6 /usr/local/cuda
|
@@ -139,101 +65,6 @@ function install_118 {
|
139 | 65 | ldconfig
|
140 | 66 | }
|
141 | 67 |
|
142 |
| -function prune_102 { |
143 |
| - echo "Pruning CUDA 10.2 and CuDNN" |
144 |
| - ##################################################################################### |
145 |
| - # CUDA 10.2 prune static libs |
146 |
| - ##################################################################################### |
147 |
| - export NVPRUNE="/usr/local/cuda-10.2/bin/nvprune" |
148 |
| - export CUDA_LIB_DIR="/usr/local/cuda-10.2/lib64" |
149 |
| - |
150 |
| - export GENCODE="-gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_75,code=sm_75" |
151 |
| - export GENCODE_CUDNN="-gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_75,code=sm_75" |
152 |
| - |
153 |
| - if [[ -n "$OVERRIDE_GENCODE" ]]; then |
154 |
| - export GENCODE=$OVERRIDE_GENCODE |
155 |
| - fi |
156 |
| - |
157 |
| - # all CUDA libs except CuDNN and CuBLAS (cudnn and cublas need arch 3.7 included) |
158 |
| - ls $CUDA_LIB_DIR/ | grep "\.a" | grep -v "culibos" | grep -v "cudart" | grep -v "cudnn" | grep -v "cublas" | grep -v "metis" \ |
159 |
| - | xargs -I {} bash -c \ |
160 |
| - "echo {} && $NVPRUNE $GENCODE $CUDA_LIB_DIR/{} -o $CUDA_LIB_DIR/{}" |
161 |
| - |
162 |
| - # prune CuDNN and CuBLAS |
163 |
| - $NVPRUNE $GENCODE_CUDNN $CUDA_LIB_DIR/libcudnn_static.a -o $CUDA_LIB_DIR/libcudnn_static.a |
164 |
| - $NVPRUNE $GENCODE_CUDNN $CUDA_LIB_DIR/libcublas_static.a -o $CUDA_LIB_DIR/libcublas_static.a |
165 |
| - $NVPRUNE $GENCODE_CUDNN $CUDA_LIB_DIR/libcublasLt_static.a -o $CUDA_LIB_DIR/libcublasLt_static.a |
166 |
| - |
167 |
| - ##################################################################################### |
168 |
| - # CUDA 10.2 prune visual tools |
169 |
| - ##################################################################################### |
170 |
| - export CUDA_BASE="/usr/local/cuda-10.2/" |
171 |
| - rm -rf $CUDA_BASE/libnsight $CUDA_BASE/libnvvp $CUDA_BASE/nsightee_plugins $CUDA_BASE/nsight-compute-2019.5.0 $CUDA_BASE/nsight-systems-2019.5.2 |
172 |
| - |
173 |
| -} |
174 |
| - |
175 |
| -function prune_113 { |
176 |
| - echo "Pruning CUDA 11.3 and CuDNN" |
177 |
| - ##################################################################################### |
178 |
| - # CUDA 11.3 prune static libs |
179 |
| - ##################################################################################### |
180 |
| - export NVPRUNE="/usr/local/cuda-11.3/bin/nvprune" |
181 |
| - export CUDA_LIB_DIR="/usr/local/cuda-11.3/lib64" |
182 |
| - |
183 |
| - export GENCODE="-gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_75,code=sm_75 -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86" |
184 |
| - export GENCODE_CUDNN="-gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_75,code=sm_75 -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86" |
185 |
| - |
186 |
| - if [[ -n "$OVERRIDE_GENCODE" ]]; then |
187 |
| - export GENCODE=$OVERRIDE_GENCODE |
188 |
| - fi |
189 |
| - |
190 |
| - # all CUDA libs except CuDNN and CuBLAS (cudnn and cublas need arch 3.7 included) |
191 |
| - ls $CUDA_LIB_DIR/ | grep "\.a" | grep -v "culibos" | grep -v "cudart" | grep -v "cudnn" | grep -v "cublas" | grep -v "metis" \ |
192 |
| - | xargs -I {} bash -c \ |
193 |
| - "echo {} && $NVPRUNE $GENCODE $CUDA_LIB_DIR/{} -o $CUDA_LIB_DIR/{}" |
194 |
| - |
195 |
| - # prune CuDNN and CuBLAS |
196 |
| - $NVPRUNE $GENCODE_CUDNN $CUDA_LIB_DIR/libcublas_static.a -o $CUDA_LIB_DIR/libcublas_static.a |
197 |
| - $NVPRUNE $GENCODE_CUDNN $CUDA_LIB_DIR/libcublasLt_static.a -o $CUDA_LIB_DIR/libcublasLt_static.a |
198 |
| - |
199 |
| - ##################################################################################### |
200 |
| - # CUDA 11.3 prune visual tools |
201 |
| - ##################################################################################### |
202 |
| - export CUDA_BASE="/usr/local/cuda-11.3/" |
203 |
| - rm -rf $CUDA_BASE/libnvvp $CUDA_BASE/nsightee_plugins $CUDA_BASE/nsight-compute-2021.1.0 $CUDA_BASE/nsight-systems-2021.1.3 |
204 |
| -} |
205 |
| - |
206 |
| -function prune_115 { |
207 |
| - echo "Pruning CUDA 11.5 and CuDNN" |
208 |
| - ##################################################################################### |
209 |
| - # CUDA 11.3 prune static libs |
210 |
| - ##################################################################################### |
211 |
| - export NVPRUNE="/usr/local/cuda-11.5/bin/nvprune" |
212 |
| - export CUDA_LIB_DIR="/usr/local/cuda-11.5/lib64" |
213 |
| - |
214 |
| - export GENCODE="-gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_75,code=sm_75 -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86" |
215 |
| - export GENCODE_CUDNN="-gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_75,code=sm_75 -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86" |
216 |
| - |
217 |
| - if [[ -n "$OVERRIDE_GENCODE" ]]; then |
218 |
| - export GENCODE=$OVERRIDE_GENCODE |
219 |
| - fi |
220 |
| - |
221 |
| - # all CUDA libs except CuDNN and CuBLAS (cudnn and cublas need arch 3.7 included) |
222 |
| - ls $CUDA_LIB_DIR/ | grep "\.a" | grep -v "culibos" | grep -v "cudart" | grep -v "cudnn" | grep -v "cublas" | grep -v "metis" \ |
223 |
| - | xargs -I {} bash -c \ |
224 |
| - "echo {} && $NVPRUNE $GENCODE $CUDA_LIB_DIR/{} -o $CUDA_LIB_DIR/{}" |
225 |
| - |
226 |
| - # prune CuDNN and CuBLAS |
227 |
| - $NVPRUNE $GENCODE_CUDNN $CUDA_LIB_DIR/libcublas_static.a -o $CUDA_LIB_DIR/libcublas_static.a |
228 |
| - $NVPRUNE $GENCODE_CUDNN $CUDA_LIB_DIR/libcublasLt_static.a -o $CUDA_LIB_DIR/libcublasLt_static.a |
229 |
| - |
230 |
| - ##################################################################################### |
231 |
| - # CUDA 11.5 prune visual tools |
232 |
| - ##################################################################################### |
233 |
| - export CUDA_BASE="/usr/local/cuda-11.5/" |
234 |
| - rm -rf $CUDA_BASE/libnvvp $CUDA_BASE/nsightee_plugins $CUDA_BASE/nsight-compute-2021.3.0 $CUDA_BASE/nsight-systems-2021.3.3 |
235 |
| -} |
236 |
| - |
237 | 68 | function prune_116 {
|
238 | 69 | echo "Pruning CUDA 11.6 and CuDNN"
|
239 | 70 | #####################################################################################
|
@@ -331,12 +162,6 @@ function prune_118 {
|
331 | 162 | while test $# -gt 0
|
332 | 163 | do
|
333 | 164 | case "$1" in
|
334 |
| - 10.2) install_102; prune_102 |
335 |
| - ;; |
336 |
| - 11.3) install_113; prune_113 |
337 |
| - ;; |
338 |
| - 11.5) install_115; prune_115 |
339 |
| - ;; |
340 | 165 | 11.6) install_116; prune_116
|
341 | 166 | ;;
|
342 | 167 | 11.7) install_117; prune_117
|
|
0 commit comments