Skip to main content

Ubuntu 20.04安装CUDA

温馨提示:如果你装CUDA是为了安装GPU版本的pytorch,那么其实不用看我下面关于CUDA安装的内容,因为你使用pytorch官网的安装命令,它会自动帮你安装相应的CUDA,但是cuDNN可能还得你手动安装。如果是安装TensorFlow GPU版本,可以参考这篇文章。

一、安装英伟达专有驱动

利用ubuntu自带的附加驱动软件进行安装,打开附加驱动之后按下图进行操作 安装英伟达专有驱动

这里我选择的是专有的,经过测试的nvidia-driver-470版本安装

二、测试驱动是否安装成功以及查看驱动版本

打开终端输入nvidia-smi,查看输出情况。若驱动安装成功,会输出类似下图的结果。 下图中需要注意的有两点:标有1的方框里面显示的是当前安装的英伟达驱动版本号,标有2的方框里面显示的是当前驱动版本可以安装的CUDA最高版本号

测试驱动安装是否成功以及检查驱动版本

三、从英伟达官网下载对应的CUDA安装文件

由上一张图可知,驱动版本号为470.74,最高支持CUDA 11.4,所以点击CUDA 11.4对应的链接,进入下载页面。当然,也可以选择不安装支持的最高版本,安装其他版本。如果想知道当前安装的驱动能安装那些版本,可以在CUDA文档里查看Table 3. CUDA Toolkit and Corresponding Driver Version。

英伟达cuda下载页面 按照下图选择即可(深绿色为选中的),在终端执行网站给出的下载,安装指令即可

下载选项

四、安装时设置

  • [此处时可选项]安装前可以选择为gcc降级(也可以不降级)。
sudo apt-get install gcc-7 g++-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 50

[正式开始]

运行sudo sh cuda_11.0.2_450.51.05_linux.run之后,后面大部分时间输入yes即可。值得注意的是开始几步的设置。 当出现下图提示时,选择Continue即可。

安装1

输入accept

安装2

这一步比较关键,由于CUDA安装文件里面一般都包含了相应的驱动,但是前面已经安装好了驱动,所以这一步需要用空格取消对Driver的选中。其他选项中除了CUDA Toolkit 11.4是必选,其他都是可选项目。我这里其他都选择了。最后选择Install。(注意:下面这个图片显示的是11.0,其实实际安装时候的是显示11.4)

安装3

五、安装后设置

安装完成后,屏幕上会出现安装程序的安装总结,里面会警告说没有安装完全,这个可以不用管,因为我们没有安装驱动程序。同时,总结里面会有两行提示你修改PATH变量和LD_LIBRARY_PATH变量。打开~/.bashrc,在末尾追加下面两行即可。当然后面的路径可能会有变化,具体以总结里面给出的路径为准。

# cuda安装位置
export PATH=$PATH:/usr/local/cuda-11.4/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.4/lib64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.4/extras/CUPTI/lib64

保存退出之后,source ~/.bashrc

六、检查CUDA是否安装成功

终端输入nvcc -V,若有输出,则安装成功

安装成功

*[注意:若前面gcc降级才会操作这一步]安装完成之后如果想恢复默认gcc和g++为gcc-9和g++-9可执行

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 50

七、安装cuDNN

严格来讲cuDNN不能叫安装。它其实是对CUDA的一些补充,所以“安装”过程很简单。去英伟达官网下载对应CUDA 11.4cuDNN压缩包(这一步可能需要注册英伟达账号)。解压之后得到cuda目录,cuda目录下面有include和lib64两个子目录,将这两个目录下面的所有文件拷贝到CUDA 11.4安装路径对应的目录下面即可。

cuDNN

上述操作完成之后,验证一下:

import tensorflow as tf
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
print(tf.test.is_gpu_available())

说明TensorFlow GPU支持成功!

此处我用的TensorFlow模块对应版本为

tensorflow==2.6.0

本片文章来自:知乎 本作者只为记录所用