Skip to content

Instantly share code, notes, and snippets.

@albertstartup
Last active March 7, 2018 02:22
Show Gist options
  • Save albertstartup/fed638a5d6862c9f0e8ffe8c3a74dbc8 to your computer and use it in GitHub Desktop.
Save albertstartup/fed638a5d6862c9f0e8ffe8c3a74dbc8 to your computer and use it in GitHub Desktop.
script to automatically setup nvidia driver 367.27, cuda 8, cudnn 5, on aws gpu
#!/bin/bash
set -o nounset
set -o errexit
# Required!
# downloads/ directory with:
# cuda_8.0.27_linux.run with md5 checksum: bea6165ccd0a6690cac04ed9544bbe57
# cudnn-8.0-linux-x64-v5.0-ga.tgz with md5 checksum: be1896b0db052a7ca06a062262c4b842
NVIDIA_FILENAME=NVIDIA-Linux-x86_64-367.27.run
NVIDIA_MD5=8f146c8270430af73c7b4333f1c46eb8
CUDA_FILENAME=cuda_8.0.27_linux.run
CUDA_MD5=bea6165ccd0a6690cac04ed9544bbe57
CUDNN_FILENAME=cudnn-8.0-linux-x64-v5.0-ga.tgz
CUDNN_MD5=be1896b0db052a7ca06a062262c4b842
# Automagically download required files. Must set $COOKIE, $CUDA_URL, $CUDNN_URL
if [[ $1 == download ]]; then
echo $COOKIE | grep -q -e =
[[ $(echo -e "$CUDA_URL\n$CUDNN_URL" | grep -o -e '^http' | wc -l) -eq 2 ]] || { exit 1; }
curl --cookie $COOKIE -L -I -X GET $CUDA_URL 2>&1 | grep 200
curl --cookie $COOKIE -L -I -X GET $CUDNN_URL 2>&1 | grep 200
mkdir downloads
cd downloads
curl -o $CUDA_FILENAME --cookie $COOKIE -L $CUDA_URL
curl -o $CUDNN_FILENAME --cookie $COOKIE -L $CUDNN_URL
cd ~
fi
cd downloads
echo -e "$CUDA_MD5 $CUDA_FILENAME\n$CUDNN_MD5 $CUDNN_FILENAME" | md5sum -c -
curl -O http://us.download.nvidia.com/XFree86/Linux-x86_64/367.27/$NVIDIA_FILENAME
echo -e "$NVIDIA_MD5 $NVIDIA_FILENAME" | md5sum -c -
echo -e "blacklist nouveau\nblacklist lbm-nouveau\noptions nouveau modeset=0\nalias nouveau off\nalias lbm-nouveau off\n" | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
sudo update-initramfs -u
sudo apt-get install -y build-essential
sudo apt-get install -y linux-image-extra-`uname -r`
sudo apt-get clean
chmod +x $NVIDIA_FILENAME
sudo ./$NVIDIA_FILENAME -s
chmod +x $CUDA_FILENAME
./$CUDA_FILENAME --extract=`pwd`/extracts/
sudo extracts/cuda-linux64-rel-8.0.27-20733550.run -noprompt
echo -e "export PATH=\$PATH:/usr/local/cuda/bin" >> ~/.bashrc
tar xf $CUDNN_FILENAME
cd cuda
sudo mv lib64/* /usr/local/cuda/lib64/
sudo mv include/* /usr/local/cuda/include/
sudo bash -c "echo '/usr/local/cuda/lib64' > /etc/ld.so.conf.d/cuda.conf"
sudo ldconfig /usr/local/cuda/lib64/
cd ~
rm -rf downloads/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment