基于Ubuntu20.04安装Nvidia驱动、Cuda和CudNN
前言
nvidia驱动,cuda,cudnn三者关系
1 nvidia驱动
1.1 nvidia驱动安装
首先Nvidia驱动应该是最好理解的,它就是GPU显卡的软件驱动程序,和计算机其他的硬件驱动一样。Nvidia官网提供了驱动下载,界面如下,传送门:https://www.nvidia.cn/Download/index.aspx?lang=cn
根据自己的GPU显卡型号及系统下载解压安装即可
另外还可以查看可安装的显卡驱动版本,以指定版本方式下载安装
ubuntu-drivers devices
避免某些镜像缺失相关依赖,此命令可以不执行
sudo apt-get install gcc g++ make
禁用ubuntu自带的nouveau驱动
Nouveau是由第三方为NVIDIA显卡开发的一个开源3D驱动,让Linux更容易的应对各种复杂的NVIDIA显卡环境,安装完Linux系统即可进入桌面并且有不错的显示效果,所以,很多Linux发行版默认集成了Nouveau驱动,在使用NVIDIA显卡时默认安装Nouveau驱动。但是用户除了想让正常显示图形界面外很多时候还需要一些其他功能,Nouveau驱动不能完成,同时还会对安装其他插件造成干扰。因此需要禁用。
打开黑名单
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
在打开的文件末尾加入
blacklist nouveau
options nouveau modeset=0
更新配置
sudo update-initramfs -u
如果更新失败 fault的话,在上一步打开的文本中写入并保存(一般都会成功的!):
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
重启(必须)
reboot
重启成功后打开终端输入
lsmod | grep nouveau
没有输出任何东西,说明nouveau禁用成功
常用的nvidia驱动相关命令(linux):
查看是否安装好驱动命令:
nvidia-smi
检查适合系统的NAVIDIA版本:
ubuntu-drivers devices
1.2 安装时可能出现的提示的问题
安装时注意要在root权限下进行
- Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?
- 选择 No
- Install nvidia’s 32-bit compatibility libraries?
- 选择 No
- Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.
- 选择 Yes
nvidia-smi #查看是否安装成功
出现如下结果说明安装成功
1.3 完全卸载nvidia驱动
如果想卸载NAVIDIA驱动,使用附加驱动的方式只能切换驱动,但卸载不了驱动,只能通过命令的方式卸载:
sudo apt-get --purge remove nvidia*
sudo apt autoremove
To remove CUDA Toolkit:
$ sudo apt-get --purge remove "*cublas*" "cuda*"
To remove NVIDIA Drivers:
$ sudo apt-get --purge remove "*nvidia*"
2. cuda安装
CUDA是NVIDIA推出的用于自家GPU的并行计算框架,也就是说CUDA只能在NVIDIA的GPU上运行,而且只有当要解决的计算问题是可以大量并行计算的时候才能发挥CUDA的作用
nvidia驱动及CUDA Toolkit适配兼容版本及最低要求版本如下:
如果上述没有你想要的,参考https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html(注意版本对应向下兼容向上不行)
cuda toolkit的安装可以直接使用命令行下载,传送门:https://developer.nvidia.com/cuda-toolkit-archive
- 检查一下文件是否下载正确,下载好的cuda名字应该这样的:
cuda_11.7.1_515.65.01_linux.run
- 直接运行文件
sudo sh cuda_11.0.2_450.51.05_linux.run
- 安装时出现如下提示, 输入accept
- cuda安装包是自带显卡驱动的,所以这一步按空格去掉安装显卡驱动的选项,然后选择install
- 配置一下环境变量:输入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}}
- 更新变量
source ~/.bashrc
- 至此cuda安装完成,输入nvcc -V命令查看cuda信息
3 cudnn安装
- 根据安装的cudatoolkie版本安装cudnn:https://developer.nvidia.cn/rdp/cudnn-archive
- ubuntu可以选择 Linux x86_64 (Tar)cudnn-linux-x86_64-8.5.0.96_cuda11下载后为tar压缩文件
- 将文件解压,然后将里面的制定和文件复制到cuda目录下
# 以下cuda-11.*名字取决于你安装的版本,在local文件夹下会看见
sudo cp cuda/include/cudnn.h /usr/local/cuda-11.*/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.*/lib64/
sudo chmod a+r /usr/local/cuda-11.*/include/cudnn.h
sudo chmod a+r /usr/local/cuda-11.*/lib64/libcudnn*
- 注意第一次下载需要登录nvidia账号
参考
基于Ubuntu20.04安装Nvidia驱动、Cuda和CudNN
ubuntu20.4安装NVIDIA驱动,cuda