Centos8.2 搭建显卡驱动+CUDA+CUDNN

Centos8.2 搭建显卡驱动+CUDA 11.0+CUDNN

文章目录

  • Centos8.2 搭建显卡驱动+CUDA 11.0+CUDNN
  • 一、安装显卡驱动
    • 1、禁用nouveau
    • 2、安装显卡驱动
      • (1)安装依赖
      • (2)安装显卡驱动
  • 二、安装CUDA
    • 1、安装CUDA
    • 2、配置环境变量
    • 3、验证CUDA是否安装成功
  • 三、安装CUDNN
    • 1、 安装CUDNN
    • 2、验证CUDNN安装是否成功

一、安装显卡驱动

1、禁用nouveau

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

查看系统是否正在使用nouveau

1
lsmod | grep nouveau

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 %新建一个配置文件
 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++
1
2
3
4
5
%先查看是否安装gcc
gcc -V
%如没有安装,需重新安装
yum install gcc
yum install gcc-c++
  • 安装 kernel-devel和kernel-headers:
1
2
yum install kernel-devel
yum install kernel-headers

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

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

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

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

在这里插入图片描述

在kernel版本下载下载上述uname -r得到的kernel-devel/headers的版本
在这里插入图片描述
安装需要的kernel-devel,kernel-headers

1
2
3
%在存储下载的目录下执行
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)安装显卡驱动

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

在这里插入图片描述
可以看到显卡的类型为GeForce GTX 2080Ti。

  • 确定上述显卡的驱动版本
    在官网可以查询到所有支持该显卡的驱动版本
    在这里插入图片描述
    在这里插入图片描述
    上图中所有驱动都支持该显卡,可看到当前nvidia显卡最新的驱动版本为: 455.38,但使用了450.57版本(后面cuda 11.0所需)
  • 安装驱动
    进入下载的驱动文件目录
1
2
3
4
%执行之前先让 .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
  • 验证驱动是否安装成功
1
 nvidia smi

输出如下信息,即为驱动安装成功
在这里插入图片描述

二、安装CUDA

1、安装CUDA

在官网下载对应的CUDA 11.0
在这里插入图片描述

1
2
3
4
%下载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、配置环境变量

1
2
3
4
5
6
7
8
9
10
%打开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}}
%保存退出
:wq!
source /etc/profile
%重启
sudo reboot

3、验证CUDA是否安装成功

  • 方法一
1
nvcc -V

输出如下内容即为成功
在这里插入图片描述

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

输出如下内容即为成功
在这里插入图片描述

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

输出如下内容即为成功
在这里插入图片描述

三、安装CUDNN

1、 安装CUDNN

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

1
2
3
4
5
6
7
8
9
10
%解压 :
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指定目录下
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 /usr/local/cuda/lib64/libcudnn*

2、验证CUDNN安装是否成功

  • 方法一
1
2
%注意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的文件夹
    在这里插入图片描述
1
2
3
4
5
6
%进入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,成功。
在这里插入图片描述