文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

CentOS 7安装N卡驱动和CUDA和cuDNN

2023-09-17 16:32

关注

系统一开始是CentOS 7.6,安装依赖时yum给的内核文件的版本号和uname -r的结果不一样,这时不能直接装依赖,装上后后面装驱动时会报错找不到内核头文件(最开始我直接装依赖了,以为高版本兼容低版本,然后装驱动时报错找不到957版的内核头文件),所以需先yum -y upgrade,升级完后需重启(重启后变成CentOS 7.9了),之后yum给的版本号和uname -r就一样了,就可以装依赖了。

升级前内核版本是957,yum装的话会装1160,版本不一样。

升级前

升级后

yum装了1160版本的依赖,然后装驱动时报错找不到957版的内核头文件

查看机器上有哪些显卡

lspci | grep -i vga

lspci | grep -i nvidia

禁用nouveau

nouveau是N卡的开源驱动,linux会自动安装,不是NVIDIA官方的,安装官方驱动前需先禁止掉它。

执行lsmod | grep nouveau,如果有输出,说明未禁用;如果没有输出,说明已禁用。

未禁用nouveau

vim /usr/lib/modprobe.d/dist-blacklist.conf,注释掉blacklist nvidiafb这一行,然后添加下面两行

blacklist nouveauoptions nouveau modeset=0

然后重建initramfs image,执行下面的命令

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.imgdracut /boot/initramfs-$(uname -r).img $(uname -r)

重启

reboot

再执行lsmod | grep nouveau,如果没有输出,说明已禁用。

已禁用nouveau

安装依赖

yum install kernel-devel kernel-headers gcc dkms gcc-c++

安装驱动

官方下载页,根据你的显卡型号搜索。我的显卡是Tesla P4,咨询群里大佬,说应该用CUDA 11.2,所以这是我的型号的下载链接

下载完后执行

chmod +x NVIDIA-Linux-x86_64-460.106.00.run./NVIDIA-Linux-x86_64-460.106.00.run --kernel-source-path=/usr/src/kernels/3.10.0-1160.83.1.el7.x86_64 -no-x-check --no-opengl-files# --kernel-source-path的值是装完依赖后才有这个路径# 远程安装会检测x server,要让它不检测# 不安装opengl,因为安装opengl,CentOS界面UI不能正常启动

安装过程中

Would you like to register the kernel module sources with DKMS?选yes(服务器选yes,本地选no)

Install NVIDIA's 32-bit compatibility libraries?选yes

安装完成后执行nvidia-smi,如果有输出,说明驱动已安装。

从最开始升级内核重启后,到这一步,装驱动时可能提示要重启,记不清了。

安装

官方下载页,我下载的11.2.2的run文件,前面已经说了我的型号应该用这个版本。

chmod +x cuda_11.2.2_460.32.03_linux.run./cuda_11.2.2_460.32.03_linux.run --no-opengl-libs

安装时,X表示选中,即安装,空白表示不选中,即不安装。驱动前面已经安装了,不用再安装。设成下面的样子,再Install。

CUDA Installer- [ ] Driver     [ ] 460.32.03+ [X] CUDA Toolkit 11.2  [X] CUDA Samples 11.2  [X] CUDA Demo Suite 11.2  [X] CUDA Documentation 11.2  Options  Install

安装完成后

vim /etc/profile# 添加下面两行,路径要和上图中一样export PATH=/usr/local/cuda-11.2/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64:$LD_LIBRARY_PATH# 保存并重新加载source /etc/profile

测试是否安装成功

方法一

终端输入cuda并连按两次tab,若有候选命令,则再执行nvcc --version,有输出版本信息就是安装成功。

自动出现候选命令

方法二

执行CUDA的示例程序进行测试

cd /root/NVIDIA_CUDA-11.2_Samples/1_Utilities/deviceQuerymake./deviceQuery

安装

官方下载页,一开始直接页面内搜11.2搜到两个结果,是2021年的,然后在最顶部发现是11.x,就选它了。直接下载会提示让登录NVIDIA帐号,查到一个不用登帐号的方法,就是在下面第二张图箭头处点右键,复制链接,然后用迅雷下,但是我用迅雷下载过程中中断了,所以还是注册了帐号。

tar -xvf cudnn-linux-x86_64-8.7.0.84_cuda11-archive.tar.xz# 以下三行命令from https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html# 参考链接中这一步复制的文件和官方文档中不太一样cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/includecp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

测试是否安装成功

查到的资料是执行cat /usr/local/cuda-11.2/include/cudnn.h | grep CUDNN_MAJOR -A 2,

# 参考链接中的两个例子[root@ctnr ~]# cat /usr/include/cudnn_v7.h |grep CUDNN_MAJOR -A 2#define CUDNN_MAJOR 7#define CUDNN_MINOR 5#define CUDNN_PATCHLEVEL 0--#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)#include "driver_types.h"cat /usr/local/cuda-8.0/include/cudnn.h | grep CUDNN_MAJOR -A 2#define CUDNN_MAJOR      6#define CUDNN_MINOR      0#define CUDNN_PATCHLEVEL 21--#define CUDNN_VERSION    (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)#include "driver_types.h"

但我这没输出,查看cudnn.h,里面有一句

#include "cudnn_version.h"

再查看cudnn_version.h,里面有cuDNN版本信息,连着的三行分别代表主版本、次版本以及修定版本。

#ifndef CUDNN_VERSION_H_#define CUDNN_VERSION_H_#define CUDNN_MAJOR 8#define CUDNN_MINOR 7#define CUDNN_PATCHLEVEL 0#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)#define CUDNN_MAX_SM_MAJOR_NUMBER 9#define CUDNN_MAX_SM_MINOR_NUMBER 0#define CUDNN_MAX_DEVICE_VERSION (CUDNN_MAX_SM_MAJOR_NUMBER * 100) + (CUDNN_MAX_SM_MINOR_NUMBER * 10)#endif 

前言中说了yum装的内核版本要和系统一样,你可能会想到这个命令,它就是安装和你内核版本一样的依赖。

yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)

但我升级前用这个命令提示找不到957的包,然后去pkgs.org也搜不到957的包,就去群里问了大佬,他让升kernel版本,升成1160。顺便还吐槽了我们还在用3.10,而截止到2023年2月底linux官方还在维护的最低版本是4.14。

参考链接

【Linux】 查看机器是否有GPU_linux查看gpu_jn10010537的博客-CSDN博客

GPU, CUDA,cuDNN三者的关系总结_挽手等风起的博客-CSDN博客

openEuler安装GPU、CUDA、cudnn_openeuler安装显卡驱动_irrationality的博客-CSDN博客

Kubernetes管理GPU应用 - breezey - 博客园 (cnblogs.com)

Tensorflow-gpu版本安装 - breezey - 博客园 (cnblogs.com)

CentOS部署显卡驱动:CUDA,cuDNN_天然玩家的博客-CSDN博客

CentOS 7 安装 NVIDIA 显卡驱动和 CUDA Toolkit_cuda toolkit centos_XueShengke的博客-CSDN博客

centos安装cuda · 大专栏 (dazhuanlan.com)

centos7安装显卡驱动、cuda以及cudnn_yingchenwy的博客-CSDN博客

CUDA与cuDNN安装教程(超详细)_kylinmin的博客-CSDN博客

Installation Guide :: NVIDIA Deep Learning cuDNN Documentation

来源地址:https://blog.csdn.net/fj_changing/article/details/129282112

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯