热门标签 | 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


推荐阅读
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 本文讨论了在iOS平台中的Metal框架中,对于if语句中的判断条件的限制和处理方式。作者提到了在Metal shader中,判断条件不能写得太长太复杂,否则可能导致程序停留或没有响应。作者还分享了自己的经验,建议在CPU端进行处理,以避免出现问题。 ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • 技嘉秀高端B450主板:不再支持第七代APU,性价比高且兼容锐龙一代和二代
    在台北电脑展上,技嘉展示了一款高端的B450主板,型号为“b450 aorus pro wi-fi”。该主板具有10+1相供电、散热片覆盖的供电区域和芯片组,以及两个m.2插槽和背部IO挡板。虽然不支持第七代APU bristol ridge,但它兼容锐龙一代和二代,且具有较高的性价比。该主板还配备了音频声卡、Wi-Fi无线网卡等功能,是一款性能出色且设计精良的主板。 ... [详细]
  • Java 11相对于Java 8,OptaPlanner性能提升有多大?
    本文通过基准测试比较了Java 11和Java 8对OptaPlanner的性能提升。测试结果表明,在相同的硬件环境下,Java 11相对于Java 8在垃圾回收方面表现更好,从而提升了OptaPlanner的性能。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • 深入理解Java虚拟机的并发编程与性能优化
    本文主要介绍了Java内存模型与线程的相关概念,探讨了并发编程在服务端应用中的重要性。同时,介绍了Java语言和虚拟机提供的工具,帮助开发人员处理并发方面的问题,提高程序的并发能力和性能优化。文章指出,充分利用计算机处理器的能力和协调线程之间的并发操作是提高服务端程序性能的关键。 ... [详细]
  • 通过Anaconda安装tensorflow,并安装运行spyder编译器的完整教程
    本文提供了一个完整的教程,介绍了如何通过Anaconda安装tensorflow,并安装运行spyder编译器。文章详细介绍了安装Anaconda、创建tensorflow环境、安装GPU版本tensorflow、安装和运行Spyder编译器以及安装OpenCV等步骤。该教程适用于Windows 8操作系统,并提供了相关的网址供参考。通过本教程,读者可以轻松地安装和配置tensorflow环境,以及运行spyder编译器进行开发。 ... [详细]
  • Window10+anaconda+python3.5.4+ tensorflow1.5+ keras(GPU版本)安装教程 ... [详细]
  • 关于如何快速定义自己的数据集,可以参考我的前一篇文章PyTorch中快速加载自定义数据(入门)_晨曦473的博客-CSDN博客刚开始学习P ... [详细]
  • OCR:用字符识别方法将形状翻译成计算机文字的过程Matlab:商业数学软件;CUDA:CUDA™是一种由NVIDIA推 ... [详细]
  • 一、概述nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,相对于其它一些系统资源监控工具来说,nmon所记录的信息是比较全面的 ... [详细]
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社区 版权所有