热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

centos7/8安装NVIDIA驱动、CUDA记录

背景在一个人脸识别的项目中发现使用cpu进行人脸识别速度很慢,另外cpu占用率很高,所以准备采用gpu做下测试,为了方便后续的部署特做记录

背景


在一个人脸识别的项目中发现使用cpu进行人脸识别速度很慢,另外cpu占用率很高,所以准备采用gpu做下测试,为了方便后续的部署特做记录。
显卡型号:NVIDIA RTX 3060 12G
操作系统:Centos8.4



1 Centos系统安装

在win10安装centos7方面也是跳了好几个坑(不是双系统,而是win10更换为Centos)。


  1. 安装centos系统前,需要先将磁盘的所有分区删除,之后再开始安装
  2. 使用“软碟通”制作U盘镜像进行安装
  3. 如果使用的是独立显卡记得打开GSM兼容,否则不能安装Centos或者需要很复杂的安装步骤
  4. 华硕跳转到启动页面的快捷键是F8
  5. 如果多方尝试安装界面一直黑屏,可以尝试更换高版本系统,引起此原因的大部分是主板问题。

2YUM源更新

#备份原来的yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#替换yum源
wget https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo -O /etc/yum.repos.d/Centos-vault-8.5.2111.repo
wget https://mirrors.aliyun.com/repo/epel-archive-8.repo -O /etc/yum.repos.d/epel-archive-8.repo
#更新缓存
yum clean all && yum makecache

3NVIDIA驱动安装


3.1下载驱动

官网地址:https://www.nvidia.cn/geforce/drivers/
下载驱动时,不要选择版本最新的,最好选择低2-3个版本的驱动
参考:


驱动版本:
LINUX X64 (AMD64/EM64T) DISPLAY DRIVER
驱动程序版本: 470.1030 - 发行日期: 2022-1-31


安装驱动前先查看系统内核版本和kernel-devel版本是否一致,命令如下

#查看内核版本
uname -r
#查看kernel-devel版本
rpm -aq | grep kernel-devel

3.2屏蔽默认带有的nouveau

nouveau是一个免费开源的非公版驱动,一般带图形化界面的Linux会附带这个驱动,这个驱动与Nvidia官方驱动会冲突,因此需要屏蔽。
在root用户下屏蔽配制文件中的 blacklist nvidiafb,加上 # 符号用以屏蔽

vim /lib/modprobe.d/dist-blacklist.conf
#blacklist nvidiafb
之后在该文件下方追加两条配置
blacklist nouveau
options nouveau modeset=0

3.3 重建 initramfs image 步骤

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
dracut /boot/initramfs-$(uname -r).img $(uname -r)

3.4 修改运行级别为文本模式

init 3

3.5 重新启动,以root用户登录

reboot

3.6 再次查看nouveau是否已经禁用

ls mod | grep nouveau

3.7 进入下载的驱动所在目录,安装驱动

./NVIDIA-Linux-x86_64-470.103.01.run

安装过程中,选择accept,基本上是一次成功,如果遇到别的错误再具体问题具体解决。


3.8 如果需要回到可视化界面执行

init 5

3.9 核验驱动是否安装成功

nvidia-smi

3.10安装NVIDIA-CONTAINER-RUNTIME

#可以先不下载yum源直接安装试试,如果不行再更新yum源
#distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
#curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.repo | \
#sudo tee /etc/yum.repos.d/nvidia-container-runtime.repo
yum install nvidia-container-runtime

此部分参考文档:
https://blog.csdn.net/qq_38657955/article/details/119989762
https://www.jianshu.com/p/84357d5a116a


4 CUDA安装

需要根据显卡驱动的版本安装对应的cuda版本,具体对照表如下:
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
在这里插入图片描述


4.1 CUDA下载

下载官网:https://developer.nvidia.com/cuda-11.0-download-archive?target_os=Linux&target_arch=x86_64&target_distro=CentOS&target_version=8&target_type=runfilelocal

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

此部分参考链接:https://blog.csdn.net/weixin_41650348/article/details/115110021


4.2配置环境变量

vim /etc/profile
export PATH=$PATH:/usr/local/cuda-11.0/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:/usr/local/cuda-11.0/lib64
:wq
source /etc/profile

4.3 验证是否安装成功

nvcc -V

此部分参考链接:https://blog.csdn.net/weixin_41650348/article/details/115110021


5 常见问题


docker启动容器报错 Unknown runtime specified nvidia.

修改/etc/docker/daemon.json(需要管理员权限),添加如下的内容:

{"registry-mirrors": ["你的加速仓库地址"],"runtimes": {"nvidia": {"path": "/usr/bin/nvidia-container-runtime","runtimeArgs": []} }
}

然后重启docker就好了:

systemctl daemon-reload
systemctl restart docker

参考链接:https://www.cnblogs.com/luckforefforts/p/13642682.html


推荐阅读
author-avatar
日月阁文玩都汇
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有