欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

基于Ubuntu20.04安装Nvidia驱动、Cuda和CudNN

程序员文章站 2024-03-19 16:51:10
...

1、前言

​  作为一个对英伟达从来没接触过的小白来说,准备安装前的三座大山就是什么是Nvidia驱动?cuda?什么是cudNN?经过两天的了解,本人大概了解了他们三者的关系,下面简单说一下,如有错误欢迎大家友善的批评指正:(注意:下载前最好看一下总结部分讲述的版本对应关系)

  • 1.1 首先Nvidia驱动应该是最好理解的,它就是GPU显卡的软件驱动程序,和计算机其他的硬件驱动一样。Nvidia官网提供了驱动下载,界面如下,传送门:https://www.nvidia.com/Download/index.aspx?lang=en-us
    基于Ubuntu20.04安装Nvidia驱动、Cuda和CudNN
    ​  大家根据自己的GPU显卡型号下载即可,需要注意的是在红框内的选择 CUDA Toolkit 对应的是你要安装的cuda版本,也就是在你安装完驱动后使用 nvidia-smi 命令查看显卡使用情况时上面显示的CUDA版本号。此处我使用11.0版本的CUDA。除了在官网下载驱动外也可以使用ubuntu的软件更新包管理器中的附加驱动来下载自动线更新,不过那个版本号不太好控制。

  • 1.2、什么是Cuda ?CUDA是NVIDIA推出的用于自家GPU的并行计算框架,也就是说CUDA只能在NVIDIA的GPU上运行,而且只有当要解决的计算问题是可以大量并行计算的时候才能发挥CUDA的作用,cuda的安装看可以直接使用命令行下载,传送门:https://developer.nvidia.com/cuda-toolkit-archive

基于Ubuntu20.04安装Nvidia驱动、Cuda和CudNN

​  选择操作系统等信息后可以使用下面提示的命令行进行下载了。
基于Ubuntu20.04安装Nvidia驱动、Cuda和CudNN

  • 1.3 CudNN是什么? 它是NVIDIA打造的针对深度神经网络的加速库,是一个用于深层神经网络的GPU加速库。如果你要用GPU训练模型,cuDNN不是必须的,但是一般会采用这个加速库。官网也提供了下载链接,一般选择下载第一个压缩包就可以:传送门:https://developer.nvidia.com/rdp/cudnn-download
    基于Ubuntu20.04安装Nvidia驱动、Cuda和CudNN

  • 总结 既然三个都要安装,我们就必须弄清三者的依赖关系:最底层是Nvidia驱动,他在安装时决定了你要安装的Cuda版本(在选择toolkit版本时) 安装cuda(cuda toolkit)需要依赖Nvidia驱动两者对应的版本对应关系在官网上有:传送门:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

基于Ubuntu20.04安装Nvidia驱动、Cuda和CudNN
​​  我安装的是红线框的版本,最后cudnn版本选择是依赖于cuda(toolkit),只有按着对应版本关系下载才可以安装成功。

2、 安装Nvidia驱动

  • 1、检查一下驱动文件是否下载正确,下载好的驱动名字应该这样的:

基于Ubuntu20.04安装Nvidia驱动、Cuda和CudNN

  • 2、删除旧的驱动:
sudo apt-get purge nvidia*
  • 3、禁止自带的nouveau nvidia驱动:ubuntu自带的nouveau驱动会影响cuda安装,不当操作会导致黑屏和登陆循环。
3.1:Ubuntu带桌面版本的有gedit软件可以使用它打开
sudo gedit /etc/modprobe.d/blacklist.conf

3.2:没有图形化界面的ubuntu可以使用vim/vi打开(如果没有安装vim可以运行 sudo apt-get install vim 安装)
sudo vim /etc/modprobe.d/blacklist.conf  
  • 4、打开blacklist文件,在文件最末尾加入下面两行代码行,然后点击保存,最后关闭文件。
blacklist nouveau  
options nouveau modeset=0 
  • 5、然后更新一下
sudo update-initramfs -u
  • 6、重启电脑
sudo reboot
  • 7、重启电脑后确认是否已经将自带的驱动屏蔽了,输入代码后没有结果输出,则表示屏蔽成功,可以进行安装了。
lsmod | grep nouveau
  • 8、至此在开始要正式安装驱动了,首先先关闭图像化界面
sudo service lightdm stop
  • 9、再按 Ctrl+alt+F1,此时会返回登陆界面,输入登陆密码后则可进入字符界面,开始安装驱动,可能存在gcc版本不匹配情况,需要更新或降级一下gcc,g++, make
sudo chmod a+x NVIDIA-Linux-x86_64-415.13.run //获取权限
sudo ./NVIDIA-Linux-x86_64-450.80.02.run //安装驱动
  • 10、安装结束后重启电脑,再查看是否安装成功,显示如下图即表示驱动安装成功。
sudo nvidia-smi

基于Ubuntu20.04安装Nvidia驱动、Cuda和CudNN

3、安装cuda (toolkit)

  • 1、检查一下文件是否下载正确,下载好的cuda名字应该这样的:

基于Ubuntu20.04安装Nvidia驱动、Cuda和CudNN

  • 2、 直接运行文件
sudo sh cuda_11.0.2_450.51.05_linux.run
  • 3、输入accept

基于Ubuntu20.04安装Nvidia驱动、Cuda和CudNN

  • 4、cuda安装包是自带显卡驱动的,所以这一步按空格去掉安装显卡驱动的选项,然后选择install

基于Ubuntu20.04安装Nvidia驱动、Cuda和CudNN

  • 5、配置一下环境变量:输入gedit ~/.bashrc命令打开文件,在文件结尾输入以下语句,保存。
# 以下cuda-11.2名字取决于你安装的版本,在local文件夹下会看见
export PATH=/usr/local/cuda-11.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
  • 6、更新变量
 source ~/.bashrc
  • 7、至此cuda安装完成,输入nvcc -V命令查看cuda信息。

4、安装cudNN

  • 1、检查一下文件是否下载正确,下载好的cudNN名字应该这样的:

基于Ubuntu20.04安装Nvidia驱动、Cuda和CudNN

  • 2、将文件解压,然后将里面的制定和文件复制到cuda目录下

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
 
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
 
sudo chmod a+r /usr/local/cuda/include/cudnn.h
 
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*