CUDA

From David's Wiki
Revision as of 14:57, 18 April 2021 by David (talk | contribs) (→‎Linux)
\( \newcommand{\P}[]{\unicode{xB6}} \newcommand{\AA}[]{\unicode{x212B}} \newcommand{\empty}[]{\emptyset} \newcommand{\O}[]{\emptyset} \newcommand{\Alpha}[]{Α} \newcommand{\Beta}[]{Β} \newcommand{\Epsilon}[]{Ε} \newcommand{\Iota}[]{Ι} \newcommand{\Kappa}[]{Κ} \newcommand{\Rho}[]{Ρ} \newcommand{\Tau}[]{Τ} \newcommand{\Zeta}[]{Ζ} \newcommand{\Mu}[]{\unicode{x039C}} \newcommand{\Chi}[]{Χ} \newcommand{\Eta}[]{\unicode{x0397}} \newcommand{\Nu}[]{\unicode{x039D}} \newcommand{\Omicron}[]{\unicode{x039F}} \DeclareMathOperator{\sgn}{sgn} \def\oiint{\mathop{\vcenter{\mathchoice{\huge\unicode{x222F}\,}{\unicode{x222F}}{\unicode{x222F}}{\unicode{x222F}}}\,}\nolimits} \def\oiiint{\mathop{\vcenter{\mathchoice{\huge\unicode{x2230}\,}{\unicode{x2230}}{\unicode{x2230}}{\unicode{x2230}}}\,}\nolimits} \)

Installation

Linux

Reference

  • Install the latest nvidia drivers from the standard repo, e.g. nvidia-drivers-450
  • Install Cuda Toolkit separately without the drivers.
    • Use one of the deb install options.
  • For machine learning, you may also want to install the following:
Adapted from Tensorflow: Install cuda with apt

See also CUDA Ubuntu Installation

# Add NVIDIA package repositories
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"

wget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu2004/x86_64/nvidia-machine-learning-repo-ubuntu2004_1.0.0-1_amd64.deb
sudo apt install ./nvidia-machine-learning-repo-ubuntu2004_1.0.0-1_amd64.deb
sudo apt update

# Install NVIDIA driver
sudo apt install nvidia-driver-465
# Reboot. Check that GPUs are visible using the command: nvidia-smi
sudo apt install cuda

# Install development and runtime libraries
sudo apt install libcudnn8 libcudnn8-dev
#sudo apt-get install -y libnvinfer6 libnvinfer-dev libnvinfer-plugin6

For TensorFlow and PyTorch, you may need to add LD_LIBRARY_PATH=/usr/local/cuda/lib64 to your environment variables.
You can also do this in PyCharm.

GCC Versions

nvcc sometimes only supports older gcc/g++ versions.
To make it use those by default, create the following symlinks:

  • sudo ln -s /usr/bin/gcc-6 /usr/local/cuda/bin/gcc
  • sudo ln -s /usr/bin/g++-6 /usr/local/cuda/bin/g++

Alternatively, you can use -ccbin and point to your gcc:

-ccbin /usr/local/cuda/bin/gcc

References