0%

Ubuntu20.04下配置Nvidia显卡驱动+CUDA+CUDNN

本文主要记录在Ubuntu20.04系统下配置显卡驱动以及配置CUDA、CUDNN

1、配置介绍

  • CPU: 11th Gen Intel® Core™ i7-11700
  • GPU: NVIDIA GeForce RTX 3070
  • 系统: Ubuntu20.04.6 LTS

2、配置显卡驱动

首先查看显卡型号,一般教程都会让你使用下面这句指令进行查看:

1
nvidia-smi

但一般都我们新的主机都无法使用这句指令,然后终端就会提示你安装相关的驱动,很多博客都会让你进行如下操作:

1
ubuntu-drivers devices

然后在终端中选择系统 recommended 的版本进行自动安装,这里 建议不要根据系统提示的推荐版本,很容易导致跟后续的版本冲突


下面是笔者的方法:

2.1、查看显卡类型

输入如下指令查看显卡类型:

1
2
3
lspci | grep -i nvidia
# 没有lspci就安装
sudo apt install pciutils

笔者得到如下信息:

1
2
01:00.0 VGA compatible controller: NVIDIA Corporation Device 2488 (rev a1)
01:00.1 Audio device: NVIDIA Corporation Device 228b (rev a1)

2488是什么型号?

参考 【Linux下Ubuntu查看电脑cpu和显卡型号信息】 中提供的网站查询显卡型号:

PCI devices

2.2、安装显卡驱动

笔者参考诸多博客,各不相同(中间还崩坏了一次,重新刷了系统),在对比下最终参考如下博客成功安装显卡驱动:

【超详细】【ubunbu 22.04】 手把手教你安装nvidia驱动,有手就行,隔壁家的老太太都能安装

3、配置 CUDA

配置好显卡驱动后,后续CUDA及CUDNN则简单很多。

首先查看自身显卡支持的最大版本CUDA:

1
nvidia-smi

Screenshot from 2023-08-06 17-36-22-1691326490895-4

如右上角所示,笔者支持最大 CUDA 版本为 12.2。登陆如下网站进行下载:

该网址最好科学上网:CUDA官方下载

国内可以使用:CUDA官方下载

注:上述两个网站区别在于把 .com 修改为 .cn,速度将快非常多!该方法适用于所有Nvidia网站!

上述网站会自动识别所适合的 CUDA 版本,如需下载其他版本,可到如下网站:

官方:CUDA 各历史版本

国内:CUDA 各历史版本

注:同样是修改网站后缀!

Screenshot from 2023-08-06 20-10-23

进入网站后选择 runfile安装 (笔者用deb安装,存在一些问题),终端输入:

1
2
wget https://developer.download.nvidia.com/compute/cuda/12.2.1/local_installers/cuda_12.2.1_535.86.10_linux.run
sudo sh cuda_12.2.1_535.86.10_linux.run

具体安装流程参考:Ubuntu20.04安装NVIDIA显卡驱动、CUDA、CUDNN及突破NVENC并发限制、多版本CUDA切换

注意:

  1. 安装过程把 Driver 选项去掉,因为我们已经装好驱动了。
  2. 根据安装好的提示,在 .bashrc 路径下添加环境变量。
1
2
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.1/lib64
export PATH=/usr/local/cuda-12.1/bin:$PATH

测试安装:

1
nvcc -V

4、安装 cuDNN

安装 cuDNN为与安装 CUDA 类似,不过需要注册 Nvidia 账号,这部分可能会卡顿,解决办法还是将网站后缀改成 .cn ,或科学上网。

官网:cuDNN官方下载

国内:cuDNN官方下载

官网历史版本:cuDNN历史版本

国内历史版本:cuDNN历史版本

选择自己对应的系统以及 CUDA 版本下载即可,笔者是 Ubuntu20.04 + CUDA12.1

Screenshot from 2023-08-06 20-31-42

按照正常的 deb 文件安装后,参考官方安装文档 cuDNN官方安装文档安装依赖如下:

1
2
3
4
5
# ${cudnn_version}${cuda_version} 对应自己的版本
# 支持 TAB 补全
sudo apt-get install libcudnn8=${cudnn_version}-1+${cuda_version}
sudo apt-get install libcudnn8-dev=${cudnn_version}-1+${cuda_version}
sudo apt-get install libcudnn8-samples=${cudnn_version}-1+${cuda_version}

测试安装是否成功:

1
2
3
4
5
6
cp -r /usr/src/cudnn_samples_v8/ $HOME
cd $HOME/cudnn_samples_v8/mnistCUDNN
make clean && make
./mnistCUDNN
# 测试通过
Test passed!

笔者遇到如下问题:编译mnistCUDNN时出错:fatal error: FreeImage.h: No such file or directory

参考:编译mnistCUDNN时出错:fatal error: FreeImage.h: No such file or directory

1
2
3
4
# 安装相关库
sudo apt-get install libfreeimage3 libfreeimage-dev
# 编译后重新执行
./mnistCUDNN

5、参考

  1. 【Linux下Ubuntu查看电脑cpu和显卡型号信息】

  2. 【超详细】【ubunbu 22.04】 手把手教你安装nvidia驱动,有手就行,隔壁家的老太太都能安装

  3. Ubuntu20.04安装NVIDIA显卡驱动、CUDA、CUDNN及突破NVENC并发限制、多版本CUDA切换

  4. cuDNN官方安装文档

  5. 编译mnistCUDNN时出错:fatal error: FreeImage.h: No such file or directory

  6. Ubuntu18.04下安装Nvidia驱动和CUDA10.1+CUDNN