cuda.sh 5.18 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
if [ "${TRAVIS_OS_NAME}" = "windows" ] && [ "$IDX" = "cpu" ]; then
rusty1s's avatar
rusty1s committed
36
37
38
39
40
  export TOOLKIT=cpuonly
fi

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

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

rusty1s's avatar
rusty1s committed
53
54
if [ "${TRAVIS_OS_NAME}" = "windows" ] && [ "$IDX" = "cu102" ]; then
  export CUDA_SHORT=10.2
rusty1s's avatar
fix url  
rusty1s committed
55
56
  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
57
  export TOOLKIT="cudatoolkit=${CUDA_SHORT}"
rusty1s's avatar
rusty1s committed
58
59
fi

rusty1s's avatar
rusty1s committed
60
61
62
63
64
65
66
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
67
if [ "${TRAVIS_OS_NAME}" = "osx" ] && [ "$IDX" = "cpu" ]; then
rusty1s's avatar
rusty1s committed
68
69
70
  export TOOLKIT=""
fi

rusty1s's avatar
typos  
rusty1s committed
71
if [ "${IDX}" = "cpu" ]; then
rusty1s's avatar
update  
rusty1s committed
72
  export FORCE_ONLY_CPU=1
rusty1s's avatar
typos  
rusty1s committed
73
else
rusty1s's avatar
rusty1s committed
74
75
76
  export FORCE_CUDA=1
fi

rusty1s's avatar
rusty1s committed
77
78
if [ "${TRAVIS_OS_NAME}" = "linux" ] && [ "${IDX}" != "cpu" ] && [ "${IDX}" != "cu110" ]; then
  INSTALLER="cuda-repo-${UBUNTU_VERSION}_${CUDA}_amd64.deb"
rusty1s's avatar
rusty1s committed
79
  wget -nv "http://developer.download.nvidia.com/compute/cuda/repos/${UBUNTU_VERSION}/x86_64/${INSTALLER}"
rusty1s's avatar
rusty1s committed
80
  sudo dpkg -i "${INSTALLER}"
rusty1s's avatar
rusty1s committed
81
  wget -nv "https://developer.download.nvidia.com/compute/cuda/repos/${UBUNTU_VERSION}/x86_64/7fa2af80.pub"
rusty1s's avatar
rusty1s committed
82
83
  sudo apt-key add 7fa2af80.pub
  sudo apt update -qq
rusty1s's avatar
rusty1s committed
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
  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

  # Fix cublas on CUDA 10.1:
  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
108
  sudo apt clean
rusty1s's avatar
rusty1s committed
109
110
111
  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
112
113
  nvcc --version
fi
rusty1s's avatar
rusty1s committed
114

rusty1s's avatar
rusty1s committed
115
if [ "${TRAVIS_OS_NAME}" = "windows" ] && [ "${IDX}" != "cpu" ]; then
rusty1s's avatar
rusty1s committed
116
117
  # Install NVIDIA drivers, see:
  # https://github.com/pytorch/vision/blob/master/packaging/windows/internal/cuda_install.bat#L99-L102
rusty1s's avatar
rusty1s committed
118
119
120
  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
121
  # Install CUDA:
rusty1s's avatar
fix url  
rusty1s committed
122
  wget -nv "${CUDA_URL}/${CUDA_FILE}"
rusty1s's avatar
rusty1s committed
123
  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
124
125
  CUDA_HOME=/c/Program\ Files/NVIDIA\ GPU\ Computing\ Toolkit/CUDA/v${CUDA_SHORT}
  PATH=${CUDA_HOME}/bin:$PATH
rusty1s's avatar
rusty1s committed
126
  PATH=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/MSBuild/15.0/Bin:$PATH
rusty1s's avatar
rusty1s committed
127
  nvcc --version
rusty1s's avatar
rusty1s committed
128
fi