当前位置: win11系统之家 >  系统教程 >  系统安装教程 >  不同型号显卡安装驱动

不同型号显卡安装驱动 GPU驱动,CUDA和cuDNN的安装步骤和方法详解

更新时间:2023-06-25 08:44:45作者:yang

  随着人工智能技术的快速发展,显卡已成为进行深度学习和机器学习的重要硬件设备之一。而为了让显卡发挥最大的性能,安装适合的GPU驱动、CUDA和cuDNN是必不可少的步骤。然而因为不同型号的显卡可能需要不同版本的驱动和软件,正确安装这些软件可能会成为新手的一项挑战。本文将为大家详解不同型号显卡安装驱动GPU驱动、CUDA和cuDNN的步骤和方法,帮助读者快速完成相关软件的配置,让显卡发挥最优性能。

GPU驱动,CUDA和cuDNN的安装步骤和方法详解

0. 删除卸载用命令(慎用)
# sudo rm /etc/apt/sources.list.d/cuda*
# sudo apt-get --purge remove "*cublas*" "cuda*" "nsight*" 
# sudo apt-get --purge remove "*nvidia*"
# sudo apt-get autoremove
# sudo apt-get autoclean
# sudo rm -rf /usr/local/cuda*
1. 安装NVIDIA显卡驱动
sudo add-apt-repository ppa:graphics-drivers  #添加NVIDA显卡驱动库
sudo apt update
ubuntu-drivers devices  #显示可安装驱动
不同型号显卡安装驱动 GPU驱动,CUDA和cuDNN的安装步骤和方法详解

会显示你电脑的GPU型号和可安装的驱动版本。其中带有recommended是建议安装的版本。驱动一般认为是越新的越好。

注意这里的提供的信息并不是最全的,有可能有适合你GPU的更高版本的驱动并未包含在内。可以去官网查询适合你的GPU的最新驱动版本。尤其是当你拥有多个不同型号的GPU时,更需要仔细查询。比如我的显卡是2080 Ti:

不同型号显卡安装驱动 GPU驱动,CUDA和cuDNN的安装步骤和方法详解

点击SEARCH搜索后得到结果(执行于2020/09/29):

不同型号显卡安装驱动 GPU驱动,CUDA和cuDNN的安装步骤和方法详解

得到该显卡最新支持的驱动是450.66版本。与用ubuntu-drivers devices命令得到的输出有些许不同,后者显示的版本更低一些(440)。具体适用情况如何我不敢保证,如果你要求不高,就安装后者建议的版本,如果你觉得最新的还是比较好,也可以安装450。

其实在添加了NVIDIA显卡驱动库后,除了用ubuntu-drivers devices这个命令,还可以手动查询可安装的driver版本:

sudo apt list nvidia-driver*
不同型号显卡安装驱动 GPU驱动,CUDA和cuDNN的安装步骤和方法详解

可以看到是库里面是有450的,在确认了你想要安装的驱动版本,如450,直接安装:

#sudo ubuntu-drivers autoinstall  #让Ubuntu自动帮你选择版本并安装
sudo apt install nvidia-driver-450  #安装450驱动
sudo reboot
nvidia-smi  #查看GPU信息,需先重启
不同型号显卡安装驱动 GPU驱动,CUDA和cuDNN的安装步骤和方法详解

因为我是之前就安装好的,所以可以看到我安装的是440.64 。

nvidia-smi这个命令日后将会经常用到,来查看GPU的信息和使用情况(注意右上角的CUDA Version并非显示我们安装的CUDA,事实上你即使没有安装CUDA,该指令右上角也会这样显示)。

查看训练进程时的GPU情况一般需要持续监视该输出:

watch -n 0.5 nvidia-smi  #即每隔0.5秒执行一次nvidia-smi;
#echo 'alias gpurun="watch -n 0.5 nvidia-smi"' >> ~/.bashrc   #用gpurun代表上行代码
2. 安装CUDA2.1 确认要安装的CUDA版本

根据电脑已有的GPU驱动,先去NVIDIA官方网站查看该驱动版本所能支持的最高CUDA版本(Table 1):

对我安装的440.64而言,可以安装最高为10.2的CUDA。如果你安装的是450,那么是可以安装CUDA 11.0的。

接下来不妨了解一下我们可以安装的CUDA都支持什么版本的Tensorflow,进入Tensorflow官网检查CUDA版本适配:

不同型号显卡安装驱动 GPU驱动,CUDA和cuDNN的安装步骤和方法详解

可知CUDA 10.1可以支持最新的tensorflow-2.20。注意这里用的不是>=10.1而是指定10.1,意味着CUDA版本并不向下兼容。所以你如果要跑tensorflow1.13.1的老代码,还是要装CUDA 10.0;同样的,如果你要用最新的tensorflow-2.2.0,那么你也不能装CUDA 10.2而只能是CUDA 10.1。

PyTorch也不妨看一下,PyTorch官网下方便有CUDA版本适配的信息:

不同型号显卡安装驱动 GPU驱动,CUDA和cuDNN的安装步骤和方法详解

可以看到Pytorch最新的稳定版(Stable 1.5)可以选择CUDA 9.2,10.1和10.2。

综合考虑下来,目前还是装CUDA 10.1比较合适。

但是也先先别急着说那我是不是就不能安装最新的CUDA 11.0了,其实这里你依然可以安装CUDA 11.0,因为你可以在conda创建的虚拟环境里面使用别的版本的CUDA。这样做之后,安装在系统上的CUDA还是11.0,而在conda虚拟环境里面,安装的CUDA可以是10.0来运行tensorflow-2.0.0。用conda虚拟环境配置cuda的教程可以参考我的另一篇文章的第7节。

注意这种虚拟环境里面和系统里面的CUDA版本不一致是可能会碰到一些问题的。一般来说能保持一致还是保持一致。

总之,版本适配问题是非常容易发生且让人头秃的,我们要考虑:GPU硬件型号,GPU驱动,CUDA,TensorFlow,PyTorch还有之后会讲的cuDNN。但只要熟用这些官网资讯,就能得到最新最准确的指导,按部就班,就能保证最大可能地安装成功。

2.2 安装CUDA

偷鸡方法(不建议):

Ubuntu 官方库里有CUDA,提供了安全无痛的CUDA安装方式:

#sudo apt-get autoremove --purge cuda* *cublas*
sudo apt update
sudo apt install nvidia-cuda-toolkit
nvcc --version #查看安装的cuda版本
不同型号显卡安装驱动 GPU驱动,CUDA和cuDNN的安装步骤和方法详解

缺点是无法指定CUDA版本,安装路径也和NVIDIA官方的CUDA路径(/usr/local)不同,故安装cuDNN时可能会有问题。

NVIDIA官方方法:

(2019/09/28更新):最新的CUDA 11.1支持Ubuntu 20.04了:

不同型号显卡安装驱动 GPU驱动,CUDA和cuDNN的安装步骤和方法详解

以下是更新前的内容:

由于撰写本文时Ubuntu 20.04刚发行不久,NVIDIA CUDA官网暂时未支持20.04,但也不代表适合Ubuntu18.04的CUDA们就无法在20.04上使用,只是会有一点问题需要解决。

进入NVIDIA CUDA库:

不同型号显卡安装驱动 GPU驱动,CUDA和cuDNN的安装步骤和方法详解

以CUDA 10.2为例。点击CUDA Toolkit 10.2即可进入下载界面:(如果你熟悉英文,建议同时也打开对应的Versioned Online Documentation,按照官网指示安装)

不同型号显卡安装驱动 GPU驱动,CUDA和cuDNN的安装步骤和方法详解

需要注意的是最后一个选项,括号里的:

local代表本地安装:下载CUDA文件至本地,执行安装程序,安装时无需联网,过程比较复杂;

net代表联网安装:通过执行指令将NVIDIA CUDA库(适配Ubuntu 18.04)到我们的软件地址库中,再在命令行里自动安装,全程需要联网。

这里我们只介绍联网安装方法。选中deb(network)后,页面下方会给出指令(Installation Instructions),一个个按顺序执行,最后的安装指令可以先不执行:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo add-apt-repository "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
sudo apt-get update
sudo apt list cuda* # 查看所有,名字以cuda开头的,可以用apt install安装的packages

与官网的添加完库之后直接安装cuda不同,添加完库之后先查看现在可以安装哪些cuda软件。执行了apt list cuda*后,结果显示有很多不同版本不同代号的cuda可供安装。包括:cuda,cuda-10-0,cuda-10-1,cuda-10-2,还有各个版本的cuda-toolkit-x-x等等等等:

不同型号显卡安装驱动 GPU驱动,CUDA和cuDNN的安装步骤和方法详解不同型号显卡安装驱动 GPU驱动,CUDA和cuDNN的安装步骤和方法详解添加完CUDA库后,用sudo apt list cuda*来查看可安装的cuda软件

NVIDIA官方给出的各后缀解释:

不同型号显卡安装驱动 GPU驱动,CUDA和cuDNN的安装步骤和方法详解

这张表的第一行也解释了为什么我们没有遵循官网指示的最后一步sudo apt install cuda,因为这种方式默认安装最新版本且包含驱动。为了更准确地安装特定版本的CUDA且不安装驱动,应该用更详细的名称来指示安装。

另外也可以发现,虽然我进入的是CUDA Toolkit 10.2的安装界面,但选择联网安装deb(network)添加了CUDA库后,是可以安装10.1或10.0的。

总之,在上表中确定了要安装的CUDA版本的代号后,执行安装命令即可:

sudo apt install cuda-toolkit-10-2  #只安装CUDA 10.2
#sudo apt install cuda-10-2  #安装CUDA 10.2。包含驱动,版本自动选择。
7.3 检查CUDA

添加环境变量并检查CUDA版本。

export PATH=$PATH:/usr/local/cuda/bin  #添加环境变量
nvcc -V  #检查CUDA版本

接着检查CUDA是否正常工作。

cuda-install-samples-10.x.sh ~  #安装cuda 10.x的样本到~目录下,替换x为你的版本号
cd ~/NVIDIA_CUDA-10.x_Samples  #进入Sample目录
make  #有点耗时,如果系统版本不匹配,gcc版本可能会导致报错。
./1_Utilities/deviceQuery/deviceQuery  #执行检查程序

如果你是在Ubuntu20.04上通过添加Ubuntu18.04的CUDA库下载的CUDA,那么你应该会碰到gcc版本报错,显示不支持8以上的gcc。只需要添加新的版本的gcc再执行make及之后的代码即可:

cat /proc/driver/nvidia/version  #查看本来的gcc版本
sudo apt install build-essential
sudo apt -y install gcc-8 g++-8  #安装gcc 8,根据报错实际情况可作调整。
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 8
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 8
#sudo update-alternatives --config gcc  #调整默认gcc,之安装gcc 8则无须执行

执行deviceQuery后会输出一些信息,主要检查“Detected X CUDA Capable device(s)”是否检测到了你实际上拥有的GPU数量;及“Device x: ...”名称处显示的GPU型号是否正确;和最下出的Result = PASS,即表示通过测试:

不同型号显卡安装驱动 GPU驱动,CUDA和cuDNN的安装步骤和方法详解不同型号显卡安装驱动 GPU驱动,CUDA和cuDNN的安装步骤和方法详解

这节最后,因为总会出现各种安装问题,这里给出清除nvidia驱动和cuda的代码:

sudo apt-get --purge remove "nvidia*"  #删除驱动(20.04用过这个代码过后可能会导致简便方法无法使用)
sudo apt-get --purge remove "*cuda*" "*cublas*"  #删除cuda
3. 安装cuDNN

cuDNN是加速CUDA GPU运算的扩展包,非必须。

进入cuDNN官网下载界面(下载cuDNN需要登陆,注册一个账号登陆即可),根据CUDA版本选择cuDNN版本,展开:

不同型号显卡安装驱动 GPU驱动,CUDA和cuDNN的安装步骤和方法详解

这里也还是暂时不支持Ubuntu20.04,选择18.04的文件下载即可(三个都下载)。在下载的路径上执行安装程序:

cd ~/Downloads  #进入下载好的三个文件的路径
sudo dpkg -i libcudnn*  #同时安装
#sudo dpkg -i libcudnn7_7.6.5.32-1+cuda10.2_amd64.deb  #逐个安装
#sudo dpkg -i libcudnn7-dev_7.6.5.32-1+cuda10.2_amd64.deb
#sudo dpkg -i libcudnn7-doc_7.6.5.32-1+cuda10.2_amd64.deb

检查cuDNN:

cp -r /usr/src/cudnn_samples_v7/ $HOME  #复制样本文件到$HOME文件夹下
cd  $HOME/cudnn_samples_v7/mnistCUDNN  #进入样本目录
make clean && make  #编译
./mnistCUDNN  #执行cuDNN测试

输出“Test Passed”说明cuDNN安装成功。

  安装显卡驱动、CUDA和cuDNN对于提升GPU的性能和加速深度学习过程非常重要。通过了解不同型号显卡的安装步骤和方法,可以更好地利用GPU资源,提高机器学习的效率和准确性。

相关教程