CUDA: Difference between revisions

From David's Wiki
(Created page with " ==Installation== ===Linux=== [https://www.pugetsystems.com/labs/hpc/How-To-Install-CUDA-10-1-on-Ubuntu-19-04-1405/#Step3)InstallCUDA\ Reference] For Ubuntu, install the lates...")
 
 
(50 intermediate revisions by the same user not shown)
Line 1: Line 1:


==Installation==
==Installation==
===Linux===
I suggest using conda to install cuda for version control your project.
[https://www.pugetsystems.com/labs/hpc/How-To-Install-CUDA-10-1-on-Ubuntu-19-04-1405/#Step3)InstallCUDA\ Reference]
 
For Ubuntu, install the latest nvidia drivers from the repo and install [https://developer.nvidia.com/cuda-toolkit Cuda Toolkit] separately without the drivers.
Note that <code>nvidia-smi</code> lists the maximum CUDA version supported by the GPU driver, not the installed version of CUDA.<br>
You can have a different version of CUDA installed in each conda environment, independently of the version supported by the GPU driver.
 
===Conda===
See [https://anaconda.org/nvidia/cuda-toolkit nvidia/cuda-toolkit] and [https://anaconda.org/nvidia/cuda-libraries-dev nvidia/cuda-libraries-dev]
 
For example:
<syntaxhighlight lang="bash">
# 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
</syntaxhighlight>
 
===Ubuntu===
[https://developer.nvidia.com/cuda-toolkit CUDA Toolkit]
 
{{hidden | Details |
See [https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#ubuntu-installation CUDA Ubuntu Installation]
<syntaxhighlight lang="bash">
# Set UBUNTU_VERSION to 2004 or 2204
UBUNTU_VERSION=$(lsb_release -sr | sed -e 's/\.//g')
 
# Install nvidia driver
sudo apt install nvidia-driver-545
 
# Add NVIDIA package repositories
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu${UBUNTU_VERSION}/x86_64/cuda-ubuntu${UBUNTU_VERSION}.pin
sudo mv cuda-ubuntu${UBUNTU_VERSION}.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu${UBUNTU_VERSION}/x86_64/3bf863cc.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu${UBUNTU_VERSION}/x86_64/ /"
 
# Install cuda.
sudo apt install cuda
# Reboot and check that the drivers are working with nvidia-smi
sudo reboot
 
# Install cudnn if needed
sudo apt install libcudnn8 libcudnn8-dev
</syntaxhighlight>
 
;Notes
* For machine learning, use Anaconda or Docker's CUDA since different versions of TensorFlow and PyTorch require different CUDA versions.
 
You may need to add <code>LD_LIBRARY_PATH&#x3D;/usr/local/cuda/lib64</code> to your environment variables.<br>
You can also do this in PyCharm.<br>
[[File:Pycharm LD LIBRARY PATH config.png| 200x200px]]
[[File:Pycharm LD LIBRARY PATH console config.png| 200x200px]]
 
}}
 
===GCC Versions===
<code>nvcc</code> sometimes only supports older gcc/g++ versions. 
To make it use those by default, create the following symlinks:
 
* <code>sudo ln -s /usr/bin/gcc-6 /usr/local/cuda/bin/gcc</code>
* <code>sudo ln -s /usr/bin/g++-6 /usr/local/cuda/bin/g++</code>
 
Alternatively, you can use <code>-ccbin</code> and point to your gcc:
<pre>
-ccbin /usr/local/cuda/bin/gcc
</pre>


==References==
==References==
* [https://devblogs.nvidia.com/even-easier-introduction-cuda/ An Even Easier Introduction To Cuda]
* [https://devblogs.nvidia.com/even-easier-introduction-cuda/ An Even Easier Introduction To Cuda]
[[Category:Programming languages]]
[[Category:GPU Programming languages]]

Latest revision as of 00:58, 22 October 2023

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

Ubuntu

CUDA Toolkit

Details

See CUDA Ubuntu Installation

# Set UBUNTU_VERSION to 2004 or 2204
UBUNTU_VERSION=$(lsb_release -sr | sed -e 's/\.//g')

# Install nvidia driver
sudo apt install nvidia-driver-545

# Add NVIDIA package repositories
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu${UBUNTU_VERSION}/x86_64/cuda-ubuntu${UBUNTU_VERSION}.pin
sudo mv cuda-ubuntu${UBUNTU_VERSION}.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu${UBUNTU_VERSION}/x86_64/3bf863cc.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu${UBUNTU_VERSION}/x86_64/ /"

# Install cuda.
sudo apt install cuda
# Reboot and check that the drivers are working with nvidia-smi
sudo reboot

# Install cudnn if needed
sudo apt install libcudnn8 libcudnn8-dev
Notes
  • For machine learning, use Anaconda or Docker's CUDA since different versions of TensorFlow and PyTorch require different CUDA versions.

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