cuda.sh 6.42 KB
Newer Older
rusty1s's avatar
rusty1s committed
1
2
#!/bin/bash

rusty1s's avatar
rusty1s committed
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if [ "${TRAVIS_OS_NAME}" = "linux" ] && [ "$IDX" = "cpu" ]; then
  export TOOLKIT=cpuonly
fi

if [ "${TRAVIS_OS_NAME}" = "linux" ] && [ "$IDX" = "cu92" ]; then
  export CUDA_SHORT=9.2
  export CUDA=9.2.148-1
  export UBUNTU_VERSION=ubuntu1604
  export TOOLKIT="cudatoolkit=${CUDA_SHORT}"
fi

if [ "${TRAVIS_OS_NAME}" = "linux" ] && [ "$IDX" = "cu101" ]; then
  export IDX=cu101
  export CUDA_SHORT=10.1
rusty1s's avatar
rusty1s committed
17
  export CUDA=10.1.243-1
rusty1s's avatar
rusty1s committed
18
19
20
21
  export UBUNTU_VERSION=ubuntu1804
  export TOOLKIT="cudatoolkit=${CUDA_SHORT}"
fi

rusty1s's avatar
rusty1s committed
22
23
24
25
26

if [ "${TRAVIS_OS_NAME}" = "linux" ] && [ "$IDX" = "cu102" ]; then
  export CUDA_SHORT=10.2
  export CUDA=10.2.89-1
  export UBUNTU_VERSION=ubuntu1804
rusty1s's avatar
rusty1s committed
27
28
29
30
31
  export TOOLKIT="cudatoolkit=${CUDA_SHORT}"
fi

if [ "${TRAVIS_OS_NAME}" = "linux" ] && [ "$IDX" = "cu110" ]; then
  export CUDA_SHORT=11.0
rusty1s's avatar
rusty1s committed
32
33
34
  export TOOLKIT="cudatoolkit=${CUDA_SHORT}"
fi

rusty1s's avatar
rusty1s committed
35
36
37
38
39
if [ "${TRAVIS_OS_NAME}" = "linux" ] && [ "$IDX" = "cu111" ]; then
  export CUDA_SHORT=11.1
  export TOOLKIT="cudatoolkit=${CUDA_SHORT}"
fi

rusty1s's avatar
rusty1s committed
40
if [ "${TRAVIS_OS_NAME}" = "windows" ] && [ "$IDX" = "cpu" ]; then
rusty1s's avatar
rusty1s committed
41
42
43
44
45
  export TOOLKIT=cpuonly
fi

if [ "${TRAVIS_OS_NAME}" = "windows" ] && [ "$IDX" = "cu92" ]; then
  export CUDA_SHORT=9.2
rusty1s's avatar
rusty1s committed
46
  export CUDA_URL=https://developer.nvidia.com/compute/cuda/${CUDA_SHORT}/Prod2/local_installers2
rusty1s's avatar
fix url  
rusty1s committed
47
  export CUDA_FILE=cuda_${CUDA_SHORT}.148_win10
rusty1s's avatar
rusty1s committed
48
  export TOOLKIT="cudatoolkit=${CUDA_SHORT}"
rusty1s's avatar
rusty1s committed
49
50
fi

rusty1s's avatar
rusty1s committed
51
52
if [ "${TRAVIS_OS_NAME}" = "windows" ] && [ "$IDX" = "cu101" ]; then
  export CUDA_SHORT=10.1
rusty1s's avatar
rusty1s committed
53
  export CUDA_URL=https://developer.nvidia.com/compute/cuda/${CUDA_SHORT}/Prod/local_installers
rusty1s's avatar
rusty1s committed
54
  export CUDA_FILE=cuda_${CUDA_SHORT}.105_418.96_win10.exe
rusty1s's avatar
rusty1s committed
55
  export TOOLKIT="cudatoolkit=${CUDA_SHORT}"
rusty1s's avatar
rusty1s committed
56
57
fi

rusty1s's avatar
rusty1s committed
58
59
if [ "${TRAVIS_OS_NAME}" = "windows" ] && [ "$IDX" = "cu102" ]; then
  export CUDA_SHORT=10.2
rusty1s's avatar
fix url  
rusty1s committed
60
61
  export CUDA_URL=https://developer.download.nvidia.com/compute/cuda/${CUDA_SHORT}/Prod/local_installers
  export CUDA_FILE=cuda_${CUDA_SHORT}.89_441.22_win10.exe
rusty1s's avatar
rusty1s committed
62
  export TOOLKIT="cudatoolkit=${CUDA_SHORT}"
rusty1s's avatar
rusty1s committed
63
64
fi

rusty1s's avatar
rusty1s committed
65
66
67
68
69
70
71
if [ "${TRAVIS_OS_NAME}" = "windows" ] && [ "$IDX" = "cu110" ]; then
  export CUDA_SHORT=11.0
  export CUDA_URL=https://developer.download.nvidia.com/compute/cuda/${CUDA_SHORT}.2/local_installers
  export CUDA_FILE=cuda_${CUDA_SHORT}.2_451.48_win10.exe
  export TOOLKIT="cudatoolkit=${CUDA_SHORT}"
fi

rusty1s's avatar
rusty1s committed
72
73
74
75
76
77
78
if [ "${TRAVIS_OS_NAME}" = "windows" ] && [ "$IDX" = "cu111" ]; then
  export CUDA_SHORT=11.1
  export CUDA_URL=https://developer.download.nvidia.com/compute/cuda/${CUDA_SHORT}.1/local_installers
  export CUDA_FILE=cuda_${CUDA_SHORT}.1_456.81_win10.exe
  export TOOLKIT="cudatoolkit=${CUDA_SHORT}"
fi

rusty1s's avatar
rusty1s committed
79
if [ "${TRAVIS_OS_NAME}" = "osx" ] && [ "$IDX" = "cpu" ]; then
rusty1s's avatar
rusty1s committed
80
81
82
  export TOOLKIT=""
fi

rusty1s's avatar
typos  
rusty1s committed
83
if [ "${IDX}" = "cpu" ]; then
rusty1s's avatar
update  
rusty1s committed
84
  export FORCE_ONLY_CPU=1
rusty1s's avatar
typos  
rusty1s committed
85
else
rusty1s's avatar
rusty1s committed
86
87
88
  export FORCE_CUDA=1
fi

rusty1s's avatar
rusty1s committed
89
if [ "${TRAVIS_OS_NAME}" = "linux" ] && { [ "${IDX}" = "cu92" ] || [ "${IDX}" = "cu101" ] || [ "${IDX}" = "cu102" ]; }; then
rusty1s's avatar
rusty1s committed
90
  INSTALLER="cuda-repo-${UBUNTU_VERSION}_${CUDA}_amd64.deb"
rusty1s's avatar
rusty1s committed
91
  wget -nv "http://developer.download.nvidia.com/compute/cuda/repos/${UBUNTU_VERSION}/x86_64/${INSTALLER}"
rusty1s's avatar
rusty1s committed
92
  sudo dpkg -i "${INSTALLER}"
rusty1s's avatar
rusty1s committed
93
  wget -nv "https://developer.download.nvidia.com/compute/cuda/repos/${UBUNTU_VERSION}/x86_64/7fa2af80.pub"
rusty1s's avatar
rusty1s committed
94
95
  sudo apt-key add 7fa2af80.pub
  sudo apt update -qq
rusty1s's avatar
rusty1s committed
96
97
98
99
100
101
102
  sudo apt install "cuda-core-${CUDA_SHORT/./-}" "cuda-nvcc-${CUDA_SHORT/./-}" "cuda-libraries-dev-${CUDA_SHORT/./-}"
  sudo apt clean
  CUDA_HOME=/usr/local/cuda-${CUDA_SHORT}
  LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${LD_LIBRARY_PATH}
  PATH=${CUDA_HOME}/bin:${PATH}
  nvcc --version

rusty1s's avatar
rusty1s committed
103
  # Fix cublas on CUDA 10.2:
rusty1s's avatar
rusty1s committed
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
  if [ -d "/usr/local/cuda-10.2/targets/x86_64-linux/include" ]; then
    sudo cp -r /usr/local/cuda-10.2/targets/x86_64-linux/include/* "${CUDA_HOME}/include/"
  fi
  if [ -d "/usr/local/cuda-10.2/targets/x86_64-linux/lib" ]; then
    sudo cp -r /usr/local/cuda-10.2/targets/x86_64-linux/lib/* "${CUDA_HOME}/lib/"
  fi
fi

if [ "${TRAVIS_OS_NAME}" = "linux" ] && [ "${IDX}" = "cu110" ]; then
  wget -nv https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
  sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
  wget -nv https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda-repo-ubuntu1804-11-0-local_11.0.3-450.51.06-1_amd64.deb
  sudo dpkg -i cuda-repo-ubuntu1804-11-0-local_11.0.3-450.51.06-1_amd64.deb
  sudo apt-key add /var/cuda-repo-ubuntu1804-11-0-local/7fa2af80.pub
  sudo apt update -qq
  sudo apt install cuda-nvcc-11-0 cuda-libraries-dev-11-0
rusty1s's avatar
rusty1s committed
120
  sudo apt clean
rusty1s's avatar
rusty1s committed
121
122
123
  CUDA_HOME=/usr/local/cuda-${CUDA_SHORT}
  LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${LD_LIBRARY_PATH}
  PATH=${CUDA_HOME}/bin:${PATH}
rusty1s's avatar
rusty1s committed
124
125
  nvcc --version
fi
rusty1s's avatar
rusty1s committed
126

rusty1s's avatar
rusty1s committed
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
if [ "${TRAVIS_OS_NAME}" = "linux" ] && [ "${IDX}" = "cu111" ]; then
  wget -nv https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
  sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
  wget -nv https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda-repo-ubuntu1804-11-1-local_11.1.1-455.32.00-1_amd64.deb
  sudo dpkg -i cuda-repo-ubuntu1804-11-1-local_11.1.1-455.32.00-1_amd64.deb
  sudo apt-key add /var/cuda-repo-ubuntu1804-11-1-local/7fa2af80.pub
  sudo apt update -qq
  sudo apt install cuda-nvcc-11-1 cuda-libraries-dev-11-1
  sudo apt clean
  CUDA_HOME=/usr/local/cuda-${CUDA_SHORT}
  LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${LD_LIBRARY_PATH}
  PATH=${CUDA_HOME}/bin:${PATH}
  nvcc --version
fi

rusty1s's avatar
rusty1s committed
142
if [ "${TRAVIS_OS_NAME}" = "windows" ] && [ "${IDX}" != "cpu" ]; then
rusty1s's avatar
rusty1s committed
143
144
  # Install NVIDIA drivers, see:
  # https://github.com/pytorch/vision/blob/master/packaging/windows/internal/cuda_install.bat#L99-L102
rusty1s's avatar
rusty1s committed
145
146
147
  curl -k -L "https://drive.google.com/u/0/uc?id=1injUyo3lnarMgWyRcXqKg4UGnN0ysmuq&export=download" --output "/tmp/gpu_driver_dlls.zip"
  7z x "/tmp/gpu_driver_dlls.zip" -o"/c/Windows/System32"

rusty1s's avatar
rusty1s committed
148
  # Install CUDA:
rusty1s's avatar
fix url  
rusty1s committed
149
  wget -nv "${CUDA_URL}/${CUDA_FILE}"
rusty1s's avatar
rusty1s committed
150
  PowerShell -Command "Start-Process -FilePath \"${CUDA_FILE}\" -ArgumentList \"-s nvcc_${CUDA_SHORT} cuobjdump_${CUDA_SHORT} nvprune_${CUDA_SHORT} cupti_${CUDA_SHORT} cublas_dev_${CUDA_SHORT} cudart_${CUDA_SHORT} cufft_dev_${CUDA_SHORT} curand_dev_${CUDA_SHORT} cusolver_dev_${CUDA_SHORT} cusparse_dev_${CUDA_SHORT} npp_dev_${CUDA_SHORT} nvrtc_dev_${CUDA_SHORT} nvml_dev_${CUDA_SHORT}\" -Wait -NoNewWindow"
rusty1s's avatar
rusty1s committed
151
152
  CUDA_HOME=/c/Program\ Files/NVIDIA\ GPU\ Computing\ Toolkit/CUDA/v${CUDA_SHORT}
  PATH=${CUDA_HOME}/bin:$PATH
rusty1s's avatar
rusty1s committed
153
  PATH=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/MSBuild/15.0/Bin:$PATH
rusty1s's avatar
rusty1s committed
154
  nvcc --version
rusty1s's avatar
rusty1s committed
155
fi