如何在Ubuntu 18.04上安装CUDA


如何在Ubuntu 18.04上安装NVIDIA CUDA。我主要使用Google Cloud和Amazon EC2的GPU实例,因此我将以此为前提。大约需要20GB的存储空间。如果仅从Python使用,建议使用Anconda的内置CUDA。

单击此处以获取其他版本的Ubuntu。

  • Ubuntu 16.04 https://qiita.com/yukoba/items/3692f1cb677b2383c983
  • Ubuntu 20.04 https://qiita.com/yukoba/items/c4a45435c6ee5d66706d

准备

1
2
sudo apt update
sudo apt upgrade

从NVIDIA存储库安装CUDA 10或11

从CUDA 10开始,Ubuntu 18.04现在可从https://developer.nvidia.com/cuda-downloads获得。以下是选择deb(网络)作为安装程序类型时的流程。在这里,apt install将安装带有cuda的最新版本,您也可以指定cuda-10-1之类的版本。

1
2
3
4
5
6
7
8
9
10
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub

wget wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_10.2.89-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804_10.2.89-1_amd64.deb
sudo apt update

sudo apt install cuda cuda-drivers
sudo reboot

rm cuda-repo-ubuntu1804_10.2.89-1_amd64.deb

然后,您需要将此添加到?/ .bashrc的末尾。

1
2
export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"

然后注销并再次登录。

使用nvidia-smi确认操作。除了cuBLAS之类的cuDNN,它附带了所有内容。

安装cuDNN

对于CUDA 10或更高版本

对于CUDA 10或更高版本以及cuDNN 7.3或更高版本,您可以从NVIDIA存储库安装。对于\\" 7.5.0.56-1 cuda10.0 \\"部分,请访问https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64以找到适当的版本。如果未指定版本,则将安装最新版本,但在这种情况下,CUDA也必须使用最新版本。

1
2
3
echo "deb https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" | sudo tee /etc/apt/sources.list.d/nvidia-ml.list
sudo apt update
sudo apt install libcudnn7-dev=7.5.0.56-1+cuda10.0

对于CUDA 9

这是一种从Ubuntu 16.04的存储库中强制安装的方法,但是由于同一二进制文件可用于整个Linux,因此Ubuntu 18.04似乎没有问题。

1
2
3
echo "deb https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64 /" | sudo tee /etc/apt/sources.list.d/nvidia-ml.list
sudo apt update
sudo apt install libcudnn7-dev

从NVIDIA存储库安装CUDA 9.2

CUDA 9.2与Ubuntu 18.04不兼容,但是您可以为Ubuntu 17.10强制安装它。这就是NVIDIA在https://gitlab.com/nvidia/cuda/blob/ubuntu18.04/9.2/base/Dockerfile中编写的方式。它可以工作,但是如果CUDA 10很好,我认为最好使用CUDA 10。由于https://bugs.launchpad.net/ubuntu/ source / nvidia-graphics-drivers-390 / bug / 1753796中描述的错误,因此需要--force-overwrite。

1
2
3
4
5
6
7
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1710/x86_64/7fa2af80.pub

echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1710/x86_64 /" | sudo tee /etc/apt/sources.list.d/cuda.list
sudo apt update
sudo apt -o Dpkg::Options::="--force-overwrite" install cuda-9-2 cuda-drivers

sudo reboot

然后,您需要将此添加到?/ .bashrc的末尾。

1
2
export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"

然后注销并再次登录。

使用nvidia-smi确认操作。除了cuBLAS之类的cuDNN,它附带了所有内容。

这是一种蛮力方法,但是只要您使用Theano,就感觉不错。

从Ubuntu存储库安装CUDA 9.1

如何从Ubuntu 18.04存储库安装。与Ubuntu 16.04的区别在于设备驱动程序包名称具有-driver。

1
2
sudo apt install nvidia-cuda-toolkit nvidia-driver-440
sudo reboot

使用nvidia-smi确认操作。除了cuBLAS之类的cuDNN,它附带了所有内容。

但是,只要是Ubuntu 18.04,此方法始终都是CUDA 9.1。

与Ubuntu 16.04不同,即使您不使用GRUB设置,也不会出现奇怪的错误。

当使用Anaconda内置的CUDA和cuDNN时

当您执行conda install tensorflow-gpu之类的操作时,Anaconda会自动安装CUDA和cuDNN。但是,由于未安装设备驱动程序,因此需要sudo apt install nvidia-driver-440sudo reboot。如果仅从Python使用它,这将很容易。不需要NVIDIA存储库。

清理

1
2
sudo apt autoremove
sudo apt clean