CUDA: Difference between revisions

From David's Wiki
 
(37 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]


* Install the latest nvidia drivers from the standard repo, e.g. <code>nvidia-drivers-450</code><br>
Note that <code>nvidia-smi</code> lists the maximum CUDA version supported by the GPU driver, not the installed version of CUDA.<br>
* Install [https://developer.nvidia.com/cuda-toolkit Cuda Toolkit] separately without the drivers.<br>
You can have a different version of CUDA installed in each conda environment, independently of the version supported by the GPU driver.
** Use one of the deb install options.
* You may also want to install the following:
** [https://developer.nvidia.com/rdp/cudnn-download cuDnn]<br>
** TensorRT


;Adapted from tensorflow
===Conda===
<pre>
See [https://anaconda.org/nvidia/cuda-toolkit nvidia/cuda-toolkit] and [https://anaconda.org/nvidia/cuda-libraries-dev nvidia/cuda-libraries-dev]
# Add NVIDIA package repositories
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_10.1.243-1_amd64.deb
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo dpkg -i cuda-repo-ubuntu1804_10.1.243-1_amd64.deb
sudo apt-get update
wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
sudo apt install ./nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
sudo apt-get update
 
# Install NVIDIA driver
sudo apt-get install --no-install-recommends nvidia-driver-450
# Reboot. Check that GPUs are visible using the command: nvidia-smi
 
# Install development and runtime libraries (~4GB)
sudo apt-get install --no-install-recommends \
    cuda-10-1 \
    libcudnn7=7.6.5.32-1+cuda10.1  \
    libcudnn7-dev=7.6.5.32-1+cuda10.1


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 cuda-nvcc
</syntaxhighlight>


# Install TensorRT. Requires that libcudnn7 is installed above.
===Ubuntu===
sudo apt-get install -y --no-install-recommends libnvinfer6=6.0.1-1+cuda10.1 \
[https://developer.nvidia.com/cuda-toolkit CUDA Toolkit]
    libnvinfer-dev=6.0.1-1+cuda10.1 \
    libnvinfer-plugin6=6.0.1-1+cuda10.1
</pre>


For tensorflow and pytorch, you may need to add <code>LD_LIBRARY_PATH=/usr/local/cuda/lib64</code> to your environment variables.<br>
<syntaxhighlight lang="bash">
You can also do this in PyCharm.<br>
# Install drivers
[[File:Pycharm LD LIBRARY PATH config.png| 200x200px]]
sudo apt install nvidia-driver-565-open
[[File:Pycharm LD LIBRARY PATH console config.png| 200x200px]]
</syntaxhighlight>


==GCC Versions==
===GCC Versions===
<code>nvcc</code> sometimes only supports older gcc/g++ versions.   
<code>nvcc</code> sometimes only supports older gcc/g++ versions.   
To make it use those by default, create the following symlinks:
To make it use those by default, create the following symlinks:
Line 50: Line 31:
* <code>sudo ln -s /usr/bin/gcc-6 /usr/local/cuda/bin/gcc</code>
* <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>
* <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 08:46, 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

CUDA Toolkit

# Install drivers
sudo apt install nvidia-driver-565-open

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