CUDA: Difference between revisions
Line 23: | Line 23: | ||
See [https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#ubuntu-installation CUDA Ubuntu Installation] | See [https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#ubuntu-installation CUDA Ubuntu Installation] | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
# Set UBUNTU_VERSION to 2004 or 2204 | # Set UBUNTU_VERSION to 2004 or 2204 or 2404 | ||
UBUNTU_VERSION=$(lsb_release -sr | sed -e 's/\.//g') | UBUNTU_VERSION=$(lsb_release -sr | sed -e 's/\.//g') | ||
Line 29: | Line 29: | ||
sudo apt install nvidia-driver-565 | sudo apt install nvidia-driver-565 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
;Notes | ;Notes | ||
* For machine learning, use Anaconda or Docker's CUDA since different versions of TensorFlow and PyTorch require different CUDA versions. | * For machine learning, use Anaconda or Docker's CUDA since different versions of TensorFlow and PyTorch require different CUDA versions. | ||
}} | }} |
Revision as of 08:31, 12 December 2024
Installation
I suggest using conda to install cuda for version control your project.
Note that nvidia-smi
lists the maximum CUDA version supported by the GPU driver, not the installed version of CUDA.
You can have a different version of CUDA installed in each conda environment, independently of the version supported by the GPU driver.
Conda
See nvidia/cuda-toolkit and nvidia/cuda-libraries-dev
For example:
# Install the runtime only
conda install -c "nvidia/label/cuda-11.8.0" cuda-toolkit
# Install the runtime and the development tools
conda install -c "nvidia/label/cuda-11.8.0" cuda-toolkit cuda-libraries-dev cuda-nvcc
Ubuntu
Details
# Set UBUNTU_VERSION to 2004 or 2204 or 2404
UBUNTU_VERSION=$(lsb_release -sr | sed -e 's/\.//g')
# Install nvidia driver
sudo apt install nvidia-driver-565
- Notes
- For machine learning, use Anaconda or Docker's CUDA since different versions of TensorFlow and PyTorch require different CUDA versions.
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