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。
按照下图选择即可(深绿色为选中的),在终端执行网站给出的下载,安装指令即可
四、安装时设置
- [此处时可选项]安装前可以选择为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
即可。
输入accept
这一步比较关键,由于CUDA
安装文件里面一般都包含了相应的驱动,但是前面已经安装好了驱动,所以这一步需要用空格取消对Driver
的选中。其他选项中除了CUDA Toolkit 11.4
是必选,其他都是可选项目。我这里其他都选择了。最后选择Install。(注意:下面这个图片显示的是11.0,其实实际安装时候的是显示11.4)
五、安装后设置
安装完成后,屏幕上会出现安装程序的安装总结,里面会警告说没有安装完全,这个可以不用管,因为我们没有安装驱动程序。同时,总结里面会有两行提示你修改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.4
的cuDNN
压缩包(这一步可能需要注册英伟达账号)。解压之后得到cuda
目录,cuda目录下面有include和lib64两个子目录,将这两个目录下面的所有文件拷贝到CUDA 11.4安装路径对应的目录下面即可。
上述操作完成之后,验证一下:
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
本片文章来自:知乎 本作者只为记录所用