Skip to content

Instantly share code, notes, and snippets.

@planetceres
Created March 4, 2019 22:49
Show Gist options
  • Save planetceres/fab6f59f734d4395c9ddce79fe3a4567 to your computer and use it in GitHub Desktop.
Save planetceres/fab6f59f734d4395c9ddce79fe3a4567 to your computer and use it in GitHub Desktop.
Multiple CUDA Environments
#!/bin/bash
# https://medium.com/@IsaacJK/setting-up-a-ubuntu-18-04-1-lts-system-for-deep-learning-and-scientific-computing-fab19f7ca39d
sudo apt-get update
sudo apt-get upgrade
# Install core packages
sudo apt-get install vim csh flex gfortran libgfortran3 g++ \
cmake xorg-dev patch zlib1g-dev libbz2-dev \
libboost-all-dev openssh-server libcairo2 \
libcairo2-dev libeigen3-dev lsb-core \
lsb-base net-tools network-manager \
git-core git-gui git-doc xclip gdebi-core
# Install Nvidia Drivers
# https://linuxconfig.org/how-to-install-the-nvidia-drivers-on-ubuntu-18-04-bionic-beaver-linux
# Add PPA repository for NVidia Drivers
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
# Install recommended drivers
sudo ubuntu-drivers autoinstall
# OR install specified vesion
sudo apt install nvidia-415
# Reboot
# Install CUDA
# Download from https://developer.nvidia.com/cuda-toolkit-archive
# To install multiple versions, refer to: https://blog.kovalevskyi.com/multiple-version-of-cuda-libraries-on-the-same-machine-b9502d50ae77
sudo apt-get install g++ freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev
################################################################################
# CUDA 10.1
################################################################################
# Download and install cuda_10.1.105_418.39
wget -O /tmp/cuda_10.1.105_418.39_linux.run https://developer.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.105_418.39_linux.run
sudo sh /tmp/cuda_10.1.105_418.39_linux.run --silent --toolkit --toolkitpath=/usr/local/cuda-10.1
# CUDNN 7.5.0
# Download from: https://developer.nvidia.com/rdp/cudnn-download#a-collapse750-101
mkdir -p /tmp/cuda-10.1
tar -xzvf cudnn-10.1-linux-x64-v7.5.0.56.tgz --directory /tmp/cuda-10.1
sudo cp /tmp/cuda-10.1/cuda/include/cudnn.h /usr/local/cuda-10.1/include
sudo cp /tmp/cuda-10.1/cuda/lib64/libcudnn* /usr/local/cuda-10.1/lib64
sudo chmod a+r /usr/local/cuda-10.1/include/cudnn.h /usr/local/cuda-10.1/lib64/libcudnn*
################################################################################
# CUDA 10.0
################################################################################
# Download
wget -O /tmp/cuda_10.0.130_410.48_linux.run https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_410.48_linux
sudo sh /tmp/cuda_10.0.130_410.48_linux.run --silent --toolkit --toolkitpath=/usr/local/cuda-10.0
# CUDNN 7.5.0
# Download from: https://developer.nvidia.com/rdp/cudnn-download#a-collapse750-101
mkdir -p /tmp/cuda-10.0
tar -xzvf cudnn-10.0-linux-x64-v7.5.0.56.tgz --directory /tmp/cuda-10.0
sudo cp /tmp/cuda-10.0/cuda/include/cudnn.h /usr/local/cuda-10.0/include
sudo cp /tmp/cuda-10.0/cuda/lib64/libcudnn* /usr/local/cuda-10.0/lib64
sudo chmod a+r /usr/local/cuda-10.0/include/cudnn.h /usr/local/cuda-10.0/lib64/libcudnn*
################################################################################
# CUDA 9.2
################################################################################
# Download and install
wget -O /tmp/cuda_9.2.148_396.37_linux https://developer.nvidia.com/compute/cuda/9.2/Prod2/local_installers/cuda_9.2.148_396.37_linux
sudo sh /tmp/cuda_9.2.148_396.37_linux --silent --toolkit --toolkitpath=/usr/local/cuda-9.2
# Download and install patches
wget -O /tmp/cuda_9.2.148.1_linux.run https://developer.nvidia.com/compute/cuda/9.2/Prod2/patches/1/cuda_9.2.148.1_linux
sudo sh /tmp/cuda_9.2.148.1_linux.run --silent --accept-eula --installdir=/usr/local/cuda-9.2
# CUDNN 7.5.0
# Download from: https://developer.nvidia.com/rdp/cudnn-download#a-collapse750-101
mkdir -p /tmp/cuda-9.2
tar -xzvf cudnn-9.2-linux-x64-v7.5.0.56.tgz --directory /tmp/cuda-9.2
sudo cp /tmp/cuda-9.2/cuda/include/cudnn.h /usr/local/cuda-9.2/include
sudo cp /tmp/cuda-9.2/cuda/lib64/libcudnn* /usr/local/cuda-9.2/lib64
sudo chmod a+r /usr/local/cuda-9.2/include/cudnn.h /usr/local/cuda-9.2/lib64/libcudnn*
################################################################################
# CUDA 9.1
################################################################################
# Install gcc-6 and g++-6
sudo apt install gcc-6
sudo apt install g++-6
# Create symlinks for cuda 9.1
sudo mkdir -p /usr/local/cuda-9.1/bin/gcc
sudo mkdir -p /usr/local/cuda-9.1/bin/g++
sudo ln -s /usr/bin/gcc-6 /usr/local/cuda-9.1/bin/gcc
sudo ln -s /usr/bin/g++-6 /usr/local/cuda-9.1/bin/g++
# Download and install with --override flag to override gcc-6 check
wget -O /tmp/cuda_9.1.85_387.26_linux.run https://developer.nvidia.com/compute/cuda/9.1/Prod/local_installers/cuda_9.1.85_387.26_linux
sudo sh /tmp/cuda_9.1.85_387.26_linux.run --silent --toolkit --toolkitpath=/usr/local/cuda-9.1 --override
# Download and install patches
wget -O /tmp/cuda_9.1.85.1_linux.run https://developer.nvidia.com/compute/cuda/9.1/Prod/patches/1/cuda_9.1.85.1_linux
wget -O /tmp/cuda_9.1.85.2_linux.run https://developer.nvidia.com/compute/cuda/9.1/Prod/patches/2/cuda_9.1.85.2_linux
wget -O /tmp/cuda_9.1.85.3_linux.run https://developer.nvidia.com/compute/cuda/9.1/Prod/patches/3/cuda_9.1.85.3_linux
sudo sh /tmp/cuda_9.1.85.1_linux.run --silent --accept-eula --installdir=/usr/local/cuda-9.1
sudo sh /tmp/cuda_9.1.85.2_linux.run --silent --accept-eula --installdir=/usr/local/cuda-9.1
sudo sh /tmp/cuda_9.1.85.3_linux.run --silent --accept-eula --installdir=/usr/local/cuda-9.1
# CUDNN 7.1.3
# Download from: https://developer.nvidia.com/rdp/cudnn-download#a-collapse750-101
mkdir -p /tmp/cuda-9.1
tar -xzvf cudnn-9.1-linux-x64-v7.1.tgz --directory /tmp/cuda-9.1
sudo cp /tmp/cuda-9.1/cuda/include/cudnn.h /usr/local/cuda-9.1/include
sudo cp /tmp/cuda-9.1/cuda/lib64/libcudnn* /usr/local/cuda-9.1/lib64
sudo chmod a+r /usr/local/cuda-9.1/include/cudnn.h /usr/local/cuda-9.1/lib64/libcudnn*
################################################################################
# CUDA 9.0
################################################################################
# Create symlinks for cuda 9.0
sudo mkdir -p /usr/local/cuda-9.0/bin/gcc
sudo mkdir -p /usr/local/cuda-9.0/bin/g++
sudo ln -s /usr/bin/gcc-6 /usr/local/cuda-9.0/bin/gcc
sudo ln -s /usr/bin/g++-6 /usr/local/cuda-9.0/bin/g++
# Download and install with --override flag to override gcc-6 check
wget -O /tmp/cuda_9.0.176_384.81_linux.run https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run
sudo sh ~/Downloads/cuda_9.0.176_384.81_linux.run --silent --toolkit --toolkitpath=/usr/local/cuda-9.0 --override
# Download and install patches
wget -O /tmp/cuda_9.0.176.1_linux.run https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/1/cuda_9.0.176.1_linux-run
wget -O /tmp/cuda_9.0.176.2_linux.run https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/2/cuda_9.0.176.2_linux-run
wget -O /tmp/cuda_9.0.176.3_linux.run https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/3/cuda_9.0.176.3_linux-run
wget -O /tmp/cuda_9.0.176.4_linux.run https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/4/cuda_9.0.176.4_linux-run
sudo sh /tmp/cuda_9.0.176.1_linux.run --silent --accept-eula --installdir=/usr/local/cuda-9.0
sudo sh /tmp/cuda_9.0.176.2_linux.run --silent --accept-eula --installdir=/usr/local/cuda-9.0
sudo sh /tmp/cuda_9.0.176.3_linux.run --silent --accept-eula --installdir=/usr/local/cuda-9.0
sudo sh /tmp/cuda_9.0.176.4_linux.run --silent --accept-eula --installdir=/usr/local/cuda-9.0
# CUDNN 7.5.0
# Download from: https://developer.nvidia.com/rdp/cudnn-download#a-collapse750-101
mkdir -p /tmp/cuda-9.0
tar -xzvf cudnn-9.0-linux-x64-v7.5.0.56.tgz --directory /tmp/cuda-9.0
sudo cp /tmp/cuda-9.0/cuda/include/cudnn.h /usr/local/cuda-9.0/include
sudo cp /tmp/cuda-9.0/cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64
sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda-9.0/lib64/libcudnn*
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment