问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

CentOS 8.2 搭建显卡驱动 + CUDA 11.0 + CUDNN

创作时间:
作者:
@小白创作中心

CentOS 8.2 搭建显卡驱动 + CUDA 11.0 + CUDNN

引用
CSDN
1.
https://blog.csdn.net/tiantianfly00/article/details/109541259

CUDA和CUDNN是深度学习开发中常用的工具,它们可以显著提升GPU的计算效率。本文将详细介绍在CentOS 8.2系统上搭建显卡驱动、CUDA 11.0和CUDNN的过程,帮助读者快速搭建深度学习开发环境。

一、安装显卡驱动

1. 禁用nouveau

nouveau是一个第三方开源的Nvidia驱动,一般Linux安装的时候默认会安装这个驱动。 这个驱动会与Nvidia官方的驱动冲突,在安装Nvidia驱动和CUDA之前应先禁用nouveau。

查看系统是否正在使用nouveau

lsmod | grep nouveau

如果有显示内容,则进行以下的步骤进行禁用nouveau

%新建一个配置文件 
sudo vim /etc/modprobe.d/blacklist-nouveau.conf 
%在该配置文件中输入i,写入以下内容 
blacklist nouveau 
options nouveau modeset=0 
%保存并退出 
:wq! 
%备份当前的镜像 
sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak 
%建立新的镜像 
sudo dracut /boot/initramfs-$(uname -r).img $(uname -r) 
%重启
sudo reboot 
%最后验证,没有任何显示即为禁用成功
lsmod | grep nouveau

2. 安装显卡驱动

(1)安装依赖

  • 安装gcc,g++
%先查看是否安装gcc
gcc -V
%如没有安装,需重新安装
yum install gcc 
yum install gcc-c++
  • 安装 kernel-devel和kernel-headers:
yum install kernel-devel
yum install kernel-headers

注意这里的kernel要和自己的linux系统版本一致:可以使用如下查看自己的系统所需版本

%查看需要的kernel版本
uname -r

得到如下结果
直接按上述yum安装的版本比较新,导致显卡驱动安装失败,需要查看yum安装的版本与系统所需要的版本是否一致,不一致需要卸载再重新安装所需要的

%查看安装的kernel版本
rpm -qa | grep kernel
%与上面uname-r得到的不一样需要卸载再重新安装
sudo yum remove kernel-devel

在kernel版本下载下载上述uname -r得到的kernel-devel/headers的版本
安装需要的kernel-devel,kernel-headers

%在存储下载的目录下执行 
sudo rpm i kernel devel 4.18.0-193.el8.x86_64.rpm
sudo rpm i kernel headers 4.18.0-193.el8.x86_64.rpm

(2)安装显卡驱动

  • 查看显卡的类型
lspci | grep -i nvidia

可以看到显卡的类型为GeForce GTX 2080Ti。

  • 确定上述显卡的驱动版本

在官网可以查询到所有支持该显卡的驱动版本
上图中所有驱动都支持该显卡,可看到当前nvidia显卡最新的驱动版本为: 455.38,但使用了450.57版本(后面cuda 11.0所需)


  • 安装驱动

进入下载的驱动文件目录

%执行之前先让 .run 文件有可执行权限:
chmod u+x NVIDIA-Linux-x86_64-450.57.run
%执行安装脚本
sudo ./NVIDIA-Linux-x86_64-450.57.run --kernel-source-path=/usr/src/kernels/4.18.0-193.el8.x86_64
  • 验证驱动是否安装成功
nvidia-smi 

输出如下信息,即为驱动安装成功

二、安装CUDA

1. 安装CUDA

在官网下载对应的CUDA 11.0

%下载cuda11.0 
wget http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run
%进入驱动安装包所在文件夹,执行
 sudo sh cuda_11.0.2_450.51.05_linux.run

注意,安装时不要选择CUDA自带的驱动,因为上一步已经安装需要的驱动了。

2. 配置环境变量

%打开profile文件进行编辑
sudo vim /etc/profile
%输入i,在最后添加如下内容
%第一次发布
%export PATH=/usr/local/cuda-11.0/bin${PATH:+:${PATH}} 
%export LD_LIBRARY_PATH=/usr/local/cuda-%11.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
%第二次发布
export PATH=/usr/local/cuda/bin:$PATH 
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
%保存退出
:wq!
source /etc/profile
%重启
sudo reboot

然后设置cuda软连接到cuda-11.0

%设置这一步的目的是为了切换cuda版本时,可以只需要更改软连接就可以切换cuda版本,而无需更改上一步的环境变量
sudo rm -rf /usr/local/cuda
sudo ln -s /usr/local/cuda-11.0 /usr/local/cuda
cd /usr/local
stat cuda

3. 验证CUDA是否安装成功

  • 方法一
nvcc -V

输出如下内容即为成功

  • 方法二
Cat /usr/local/cuda/version.txt

输出如下内容即为成功

  • 方法三
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
make clean && make
./deviceQuery

输出如下内容即为成功

三、安装CUDNN

1. 安装CUDNN

在官网下载CUDA 11.0 对应的CUDNN版本(我们安装cudnn不用管什么runtime和development,因为我们是使用tgz压缩包安装,直接把压缩包下载下来就好了)

%解压 :
cp cudnn-11.0-linux-x64-v8.0.4.30.solitairetheme8 cudnn-11.0-linux-x64-v8.0.4.30.tgz
tar -xvf cudnn-11.0-linux-x64-v8.0.4.30.tgz
%复制到CUDA指定目录下
cd /usr/local/cudnn-11.0-linux-x64-v8.0.4.30
sudo cp cuda/include/cudnn*.h /usr/local/cuda-11.0/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.0/lib64 
%修改权限
sudo chmod a+r /usr/local/cuda-11.0/include/cudnn*.h /usr/local/cuda-11.0/lib64/libcudnn*

2. 验证CUDNN安装是否成功

  • 方法一
%注意cudnn8.0以上版本cudnn.h一定要写为cudnn_version.h
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

输出如下,安装成功

  • 方法二

在cudnn官网下载页面下载samples的Deb文件,解压得到名为libcudnn8-samples_8.0.4.30-1+cuda11.0_amd64的文件夹

%进入Samples所在文件夹
cd /home/root/下载/libcudnn8-samples_8.0.4.30-1+cuda11.0_amd64/data/usr/src/cudnn_samples_v8/mnistCUDNN
%编辑mnistCUDNN
make clean && make
%Run mnistCUDNN的例子 
./mnistCUDNN

输出如下Test Passed,成功。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号