作者:日月阁文玩都汇 | 来源:互联网 | 2023-09-18 14:15
背景
在一个人脸识别的项目中发现使用cpu进行人脸识别速度很慢,另外cpu占用率很高,所以准备采用gpu做下测试,为了方便后续的部署特做记录。
显卡型号:NVIDIA RTX 3060 12G
操作系统:Centos8.4
1 Centos系统安装
在win10安装centos7方面也是跳了好几个坑(不是双系统,而是win10更换为Centos)。
- 安装centos系统前,需要先将磁盘的所有分区删除,之后再开始安装
- 使用“软碟通”制作U盘镜像进行安装
- 如果使用的是独立显卡记得打开GSM兼容,否则不能安装Centos或者需要很复杂的安装步骤
- 华硕跳转到启动页面的快捷键是F8
- 如果多方尝试安装界面一直黑屏,可以尝试更换高版本系统,引起此原因的大部分是主板问题。
2YUM源更新
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
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 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 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