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,成功。