centos8.5 安装nvidia显卡驱动的笔记

《centos8.5 安装nvidia显卡驱动的笔记》

什么是DKMS(已被废弃能再使用但无效20241201)

1. DKMS,即Dynamic Kernel Module Support,动态内核模块支持,是由Dell创建和支持维护的模块管理工具。它可以帮我们维护内核外的驱动程序,在内核版本变动之后可以自动重新生成新的模块,而不需要手动去编译安装相应的模块,从而提高生产力,并且有效的减少人为失误。

2. DKMS的目的是让依赖内核的模块源码独立出来以便升级内核时候可以容易地重新建立。这也使得Linux驱动程程编写人员能够尽快的提供他们的驱动而不用等待新版本的Linux内核发布,同时也打消了用户对模块能否在新内核上面重新编译的疑虑。

查看内核/显卡/默认驱动

#ls /boot | grep vmlinu
vmlinuz-0-rescue-f69f7b35e8e045689d63cd9b85c02f3c
vmlinuz-4.18.0-348.el8.x86_64
#rpm -qa |grep kernel
#dnf list kernel*
------------------------------------------
kernel.x86_64 4.18.0-348.el8 @anaconda     
kernel-core.x86_64 4.18.0-348.el8 @anaconda     

//查看当前系统是什么驱动 (默认驱动)
//如果有输出说明默认驱动正在使用,如果要使用其他的驱动,需要禁用默认驱动
//因此需要做好驱动备份的工作!!
//查看默认驱动是否启用中,如果有内容输出说明有启用
#lsmod | grep nouveau
--------------------------------------------
nouveau              2306048  3
drm_ttm_helper         16384  1 nouveau
ttm                    77824  2 drm_ttm_helper,nouveau
i2c_algo_bit           16384  1 nouveau
video                  49152  1 nouveau
drm_kms_helper        253952  1 nouveau
mxm_wmi                16384  1 nouveau
drm                   573440  8 drm_kms_helper,drm_ttm_helper,ttm,nouveau
wmi                    32768  2 mxm_wmi,nouveau

//查看显卡vga
#lspci | grep -i vga
03:00.0 VGA compatible controller: NVIDIA Corporation GT218 [GeForce 210] (rev a2)
//查看指定显卡
#lspci | grep -i nvidia
03:00.0 VGA compatible controller: NVIDIA Corporation GT218 [GeForce 210] (rev a2)
03:00.1 Audio device: NVIDIA Corporation High Definition Audio Controller (rev a1)
//查看显卡详细
#lspci -v -s 01:00.0
03:00.0 VGA compatible controller: NVIDIA Corporation GT218 [GeForce 210] (rev a2) (prog-if 00 [VGA controller])
	Subsystem: NVIDIA Corporation Device 080a
	Physical Slot: 4
	Flags: bus master, fast devsel, latency 0, IRQ 69, NUMA node 0
	Memory at c6000000 (32-bit, non-prefetchable) [size=16M]
	Memory at b8000000 (64-bit, prefetchable) [size=128M]
	Memory at c0000000 (64-bit, prefetchable) [size=32M]
	I/O ports at 6000 [size=128]
	Expansion ROM at 000c0000 [disabled] [size=128K]
	Capabilities: [60] Power Management version 3
	Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Capabilities: [78] Express Endpoint, MSI 00
	Capabilities: [b4] Vendor Specific Information: Len=14 <?>
	Capabilities: [100] Virtual Channel
	Capabilities: [128] Power Budgeting <?>
	Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
	Kernel driver in use: nouveau
	Kernel modules: nouveau

//查找nvidia设备
# lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation GK104 [GeForce GTX 660 Rev. 2] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GK104 HDMI Audio Controller (rev a

禁用默认驱动(禁用系统自带的nouveau)

//修改dist-blacklist.conf文件:
#vi /lib/modprobe.d/dist-blacklist.conf
-------------------------------------
//将nvidiafb注释掉:
#blacklist nvidiafb 

//然后添加以下语句:
blacklist nouveau
options nouveau modeset=0

//备份驱动文件
#mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
#dracut /boot/initramfs-$(uname -r).img $(uname -r)

//重启服务器
#reboot

//切换图形界面/命令行界面的,可以参考这里:
CentOS8安装图形界面模式


//重启后查看是否还在使用旧的驱动 (执行以下命令应该是没有输出的)
#lsmod | grep nouveau

安装方法一,使用官方包安装Nvidia驱动(建议)

//在NVIDIA官网下载驱动:
https://www.nvidia.cn/Download/index.aspx?lang=cn#
//根据自己的显示来下载
《centos8.5 安装nvidia显卡驱动的笔记》
//查看内核
#uname -r


#chmod +x NVIDIA-Linux-x86_64-550.135.run   //文件比较小 大概300M左右
#./NVIDIA-Linux-x86_64-550.135.run

//如果出现:ERROR: You appear to be running an X server; please exit X before installing.  For further details, please see the section INSTALLING THE   
  NVIDIA DRIVER in the README available on the Linux driver download page at www.nvidia.com.  
//这个错误主要是由于远程安装控制centos 导致的。
//在后面加上不对X-server进行检查的命令(红色)就可以安装成功!
#./NVIDIA-Linux-x86_64-550.135.run -no-x-check

默认驱动是不带cuda控制台的,需要另外下载CUDA Toolkit来安装控制台(即nvidia-smi)

卸载驱动

#dnf remove nvidia-driver nvidia-settings cuda-driver kernel-devel-$(uname -r) kernel-headers-$(uname -r)
//使用官方包提供的卸载方式
./NVIDIA-Linux-x86-285.05.09.run     --uninstall

安装CUDA Toolkit 12.6 Update 3 Downloads

《centos8.5 安装nvidia显卡驱动的笔记》
地址:https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=RHEL&target_version=8&target_type=runfile_local
文件比较大,大概 4G左右

chmod +x cuda_12.6.3_560.35.05_linux.run
sh cuda_12.6.3_560.35.05_linux.run
---------------------------------------------------------
输入accept后:
CUDA Installer
-[X] Driver
    [X] 450.51.06
+[X] CUDA Toolkit 11.0
 [X] CUDA Samples 11.0
 [X] CUDA Demo Suite 11.0
 [X] CUDA Documentation 11.0
Options
Install
直接选择install


//如果成功
#nvidia-smi
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.135                Driver Version: 550.135        CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce GTX 1050 Ti     Off |   00000000:03:00.0 Off |                  N/A |
|  0%   48C    P8             N/A /   72W |	  3MiB /   4096MiB |	  0%	  Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
|   1  Tesla M40 24GB                 Off |   00000000:04:00.0 Off |                    0 |
| N/A   40C    P0             58W /  250W |     928MiB /  23040MiB |	  0%	  Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage	  |
|=========================================================================================|
|    1   N/A  N/A      1661	 C   /usr/bin/python3                              923MiB |
+-----------------------------------------------------------------------------------------+

安装方法二,dnf的安装方式(此方法好像无法安装)

将内核升级到最新!!不想出现更种bug就要升到最新!!多么痛的领悟

参考安装教程地址:
https://www.server-world.info/en/note?os=CentOS_Stream_8&p=nvidia
https://www.linuxcapable.com/zh-CN/how-to-install-or-upgrade-nvidia-drivers-on-centos-8-stream/
//查看当前默认内核
#grubby --default-kernel
----------------------------------
/boot/vmlinuz-4.18.0-348.el8.x86_64 
//默认内核非常的旧,需要升到最新!!!!😶😶😶😶😶

//安装可以提供其他内核的rpm仓库
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm

//显示所有可安装的内核
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
Repository extras is listed more than once in the configuration
ELRepo.org Community Enterprise Linux Kernel Repository - el8              24 kB/s | 2.1 MB     01:26
上次元数据过期检查:0:00:01 前,执行于 2022年07月26日 星期二 19时16分43秒。
可安装的软件包
bpftool.x86_64                  5.18.14-1.el8.elrepo             elrepo-kernel
kernel-lt.x86_64                5.4.207-1.el8.elrepo             elrepo-kernel
kernel-lt-core.x86_64           5.4.207-1.el8.elrepo             elrepo-kernel
kernel-lt-devel.x86_64          5.4.207-1.el8.elrepo             elrepo-kernel
kernel-lt-doc.noarch            5.4.207-1.el8.elrepo             elrepo-kernel
kernel-lt-headers.x86_64        5.4.207-1.el8.elrepo             elrepo-kernel
kernel-lt-modules.x86_64        5.4.207-1.el8.elrepo             elrepo-kernel
kernel-lt-modules-extra.x86_64                5.4.207-1.el8.elrepo             elrepo-kernel
kernel-lt-tools.x86_64          5.4.207-1.el8.elrepo             elrepo-kernel
kernel-lt-tools-libs.x86_64     5.4.207-1.el8.elrepo             elrepo-kernel
kernel-lt-tools-libs-devel.x86_64             5.4.207-1.el8.elrepo             elrepo-kernel
kernel-ml.x86_64                5.18.14-1.el8.elrepo             elrepo-kernel
kernel-ml-core.x86_64           5.18.14-1.el8.elrepo             elrepo-kernel
kernel-ml-devel.x86_64          5.18.14-1.el8.elrepo             elrepo-kernel
kernel-ml-doc.noarch            5.18.14-1.el8.elrepo             elrepo-kernel
kernel-ml-headers.x86_64        5.18.14-1.el8.elrepo             elrepo-kernel
kernel-ml-modules.x86_64        5.18.14-1.el8.elrepo             elrepo-kernel
kernel-ml-modules-extra.x86_64  5.18.14-1.el8.elrepo             elrepo-kernel
kernel-ml-tools.x86_64          5.18.14-1.el8.elrepo             elrepo-kernel
kernel-ml-tools-libs.x86_64     5.18.14-1.el8.elrepo             elrepo-kernel
kernel-ml-tools-libs-devel.x86_64             5.18.14-1.el8.elrepo             elrepo-kernel
perf.x86_64                     5.18.14-1.el8.elrepo             elrepo-kernel
python3-perf.x86_64             5.18.14-1.el8.elrepo        

kernel-lt:long term support,长期支持版本,
kernel-ml:mainline stable,最新稳定版
# 查看系统内核版本 4.18.0-348.el8.X86_64
# 4目前发布的内核主版本.8偶数表示稳定版本,奇数表示开发中版本.0错误修补的次数.
# 348当前这个版本的第348次微调,el8-EnterpriseLinux支持8G运行内存的对称多处理器机器,x86_64是32位64位机器都支持
安装内核,ml-mainline表示安装主线版本


//安装最新内核
yum --enablerepo=elrepo-kernel install kernel-ml
//执行多次以确保版本是最新的版本(20241201)
yum --enablerepo=elrepo-kernel install kernel-ml


//查看已安装的内核
grubby --info=ALL | grep ^kernel

//查看当前系统有哪些可用内核
#grubby --info=ALL | grep ^kernel 
kernel="/boot/vmlinuz-4.18.0-348.el8.x86_64"
kernel="/boot/vmlinuz-0-rescue-4a7e8f9188504d569e30b6b851c61b23"

//通过命令grubby --set-default=可以设置你的默认启动内核。
grubby --set-default=/boot/vmlinuz-4.18.0-348.el8.x86_64
grubby --set-default "/boot/vmlinuz-5.16.10-1.el8.elrepo.x86_64"

//0 表示最新安装的内核,设置为 0 表示以新版本内核启动
#grub2-set-default 0
//生成grub配置文件并重启系统
#grub2-mkconfig -o /boot/grub2/grub.cfg
#reboot




//删除旧内核,这一步是可选的
yum remove kernel-core-4.18.0 kernel-devel-4.18.0 kernel-tools-libs-4.18.0 kernel-headers-4.18.0

//查看已安装哪些旧内核
rpm -qa | grep kernel
kernel-lt-modules-5.4.207-1.el8.elrepo.x86_64
kernel-devel-4.18.0-348.el8.x86_64
kernel-modules-4.18.0-348.el8.x86_64
kernel-ml-modules-5.18.14-1.el8.elrepo.x86_64
kernel-headers-4.18.0-348.el8.x86_64
kernel-ml-5.18.14-1.el8.elrepo.x86_64
kernel-core-4.18.0-348.el8.x86_64
kernel-lt-core-5.4.207-1.el8.elrepo.x86_64
kernel-ml-core-5.18.14-1.el8.elrepo.x86_64
kernel-tools-4.18.0-348.el8.x86_64
kernel-4.18.0-348.el8.x86_64
kernel-tools-libs-4.18.0-348.el8.x86_64
kernel-lt-5.4.207-1.el8.elrepo.x86_64
//设置NVIDIA官方repo库
# dnf config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
//在电脑上确认是什么显卡
# lspci | grep VGA


//以下内容 已废弃 (20241201),请使用方法一
//更新可用驱动:
#dnf install nvidia-drivers


//显示repo库上可用驱动程序的版本
# dnf module list nvidia-driver
cuda-rhel8-x86_64
Name            Stream           Profiles        Summary
nvidia-driver   latest           default [d], fm, ks, src   Nvidia driver for latest branch
nvidia-driver   latest-dkms [d]  default [d], fm, ks        Nvidia driver for latest-dkms branch
nvidia-driver   open-dkms        default [d], fm, ks, src   Nvidia driver for open-dkms branch
nvidia-driver   418              default [d], fm, ks, src   Nvidia driver for 418 branch
nvidia-driver   418-dkms [e]     default [d], fm, ks        Nvidia driver for 418-dkms branch
nvidia-driver   440              default [d], fm, ks, src   Nvidia driver for 440 branch
nvidia-driver   440-dkms         default [d], fm, ks        Nvidia driver for 440-dkms branch
nvidia-driver   450              default [d], fm, ks, src   Nvidia driver for 450 branch
nvidia-driver   450-dkms         default [d], fm, ks        Nvidia driver for 450-dkms branch
nvidia-driver   455              default [d], fm, ks, src   Nvidia driver for 455 branch
nvidia-driver   455-dkms         default [d], fm, ks        Nvidia driver for 455-dkms branch
nvidia-driver   460              default [d], fm, ks, src   Nvidia driver for 460 branch
nvidia-driver   460-dkms         default [d], fm, ks        Nvidia driver for 460-dkms branch
nvidia-driver   465              default [d], fm, ks, src   Nvidia driver for 465 branch
nvidia-driver   465-dkms         default [d], fm, ks        Nvidia driver for 465-dkms branch
nvidia-driver   470              default [d], fm, ks, src   Nvidia driver for 470 branch
nvidia-driver   470-dkms         default [d], fm, ks        Nvidia driver for 470-dkms branch
nvidia-driver   495              default [d], fm, ks, src   Nvidia driver for 495 branch
nvidia-driver   495-dkms         default [d], fm, ks        Nvidia driver for 495-dkms branch
nvidia-driver   510              default [d], fm, ks, src   Nvidia driver for 510 branch
nvidia-driver   510-dkms         default [d], fm, ks        Nvidia driver for 510-dkms branch
nvidia-driver   515              default [d], fm, ks, src   Nvidia driver for 515 branch
nvidia-driver   515-dkms         default [d], fm, ks        Nvidia driver for 515-dkms branch
nvidia-driver   515-open         default [d], fm, ks, src   Nvidia driver for 515-open branch

//切换内核之后(需要重启),重启之后进行安装
#yum --enablerepo=elrepo-kernel install kernel-ml-headers kernel-ml-devel dkms

//禁用旧版本流,然后才能启用新版本
#dnf module reset nvidia-driver

//卸载旧版本
dnf module -y remove nvidia-driver:515-dkms
dnf remove nvidia-driver

//安装指定的版本的驱动
#dnf module -y install nvidia-driver:545-dkms

//加载驱动
# nvidia-modprobe && nvidia-modprobe -u


//查看模块信息
#modinfo nvidia

//显示显卡信息
#nvidia-smi


//查看驱动位置
#whereis nvidia
nvidia: /usr/lib/nvidia /usr/lib64/nvidia /etc/nvidia /usr/include/nvidia /usr/share/nvidia /usr/src/nvidia-418.226.00/nvidia

//查看驱动版本信息
cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  340.108  Wed Dec 11 11:06:58 PST 2019
GCC version:  gcc version 8.5.0 20210514 (Red Hat 8.5.0-4) (GCC) 


[root@localhost local]# nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 515.48.07    Driver Version: 515.48.07    CUDA Version: 11.7     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0 Off |                  N/A |
|  0%   62C    P0    N/A /  72W |      0MiB /  4096MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+
第一栏的Fan:N/A是风扇转速,从0到100%之间变动,这个速度是计算机期望的风扇转速,实际情况下如果风扇堵转,可能打不到显示的转速。有的设备不会返回转速,因为它不依赖风扇冷却而是通过其他外设保持低温(比如我们实验室的服务器是常年放在空调房间里的)。
第二栏的Temp:是温度,单位摄氏度。
第三栏的Perf:是性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能。
第四栏下方的Pwr:是能耗,上方的Persistence-M:是持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少,这里显示的是off的状态。
第五栏的Bus-Id是涉及GPU总线的东西,domain:bus:device.function
第六栏的Disp.A是Display Active,表示GPU的显示是否初始化。
第五第六栏下方的Memory Usage是显存使用率。
第七栏是浮动的GPU利用率。
第八栏上方是关于ECC的东西。
第八栏下方Compute M是计算模式。

什么是CUDA

CUDA 是 NVIDIA 发明的一种并行计算平台和编程模型。它通过利用图形处理器 (GPU) 的处理能力,可大幅提升计算性能。
目前为止基于 CUDA 的 GPU 销量已达数以百万计,软件开发商、科学家以及研究人员正在各个领域中运用 CUDA,其中包括图像与视频处理、计算生物学和化学、流体力学模拟、CT 图像再现、地震分析以及光线追踪等等。
计算行业正在从只使用CPU的“中央处理”向CPU与GPU并用的“协同处理”发展。为打造这一全新的计算典范,NVIDIA(英伟达)发明了CUDA(Compute Unified Device Architecturem,统一计算设备架构)这一编程模型,是想在应用程序中充分利用CPU和GPU各自的优点。现在,该架构现已应用于GeForce(精视)、ION(翼扬)、Quadro以及Tesla GPU(图形处理器)上,对应用程序开发人员来说,这是一个巨大的市场。 
根据相应的内核安装相应的cuda
//安装教程地址
https://www.server-world.info/en/note?os=CentOS_Stream_8&p=cuda&f=2
//查看各个版本
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
《centos8.5 安装nvidia显卡驱动的笔记》
//所有可以安装的cuda
#dnf list cuda-1*
可安装的软件包
cuda-11-0.x86_64 11.0.3-1   cuda-rhel8-x86_64
cuda-11-1.x86_64 11.1.1-1   cuda-rhel8-x86_64
cuda-11-2.x86_64 11.2.2-1   cuda-rhel8-x86_64
cuda-11-3.x86_64 11.3.1-1   cuda-rhel8-x86_64
cuda-11-4.x86_64 11.4.4-1   cuda-rhel8-x86_64
cuda-11-5.x86_64 11.5.2-1   cuda-rhel8-x86_64
cuda-11-6.x86_64 11.6.2-1   cuda-rhel8-x86_64
cuda-11-7.x86_64 11.7.0-1   cuda-rhel8-x86_64

//安装对应版本
#dnf -y install cuda-11-7
//添加环境变量  ->117 (11-7)
#vi /etc/profile.d/cuda117.sh
export PATH=/usr/local/cuda-11.7/bin${PATH:+:${PATH}} 
export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
//使变量生效
#source /etc/profile.d/cuda117.sh

//查看
#nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Tue_Mar__8_18:18:20_PST_2022
Cuda compilation tools, release 11.6, V11.6.124
Build cuda_11.6.r11.6/compiler.31057947_0

什么是cuDNN

NVIDIA ® CUDA ®深度神经网络库 (cuDNN)是一个 GPU 加速的深度神经网络原语库。cuDNN 为标准例程(例如前向和后向卷积、池化、归一化和激活层)提供高度调整的实现。cuDNN 是 NVIDIA 深度学习 SDK 的一部分。
全球的深度学习研究人员和框架开发人员依靠 cuDNN 来实现高性能 GPU 加速。它使他们能够专注于训练神经网络和开发软件应用程序,而不是花时间在低级 GPU 性能调优上。cuDNN 加速了广泛使用的深度学习框架,并且可供 NVIDIA Developer Program™ 成员免费使用。
官网地址:https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html

CUDA与cuDNN的关系

CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,就像你想要拧个螺帽就要把扳手买回来。这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多。

从官方安装指南可以看出,只要把cuDNN文件复制到CUDA的对应文件夹里就可以,即是所谓插入式设计,把cuDNN数据库添加CUDA里,cuDNN是CUDA的扩展计算库,不会对CUDA造成其他影响。

cuDNN的安装

//官网包下载地址
https://developer.nvidia.com/rdp/cudnn-archive


//官网安装教程地址
https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html

#cd /usr/local

//下载对应的cuda版本 如下图,, 需要注册登录,需要填写一个问卷
#wget https://developer.nvidia.com/compute/cudnn/secure/8.4.0/local_installers/11.6/cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar.xz
#tar -xvf cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar.xz 
//安装到文件夹中
#cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include  (这个路径指的是11.6)
#cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64
#chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*




//将cudnn8.4 更新到 8.9 (需要确认自己当前的cuda版本)
#wget https://developer.download.nvidia.com/compute/cudnn/secure/8.9.4/local_installers/11.x/cudnn-linux-x86_64-8.9.4.25_cuda11-archive.tar.xz
#tar -xvf cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar.xz 
//安装到文件夹中 (建议使用sftp来操作)
cp -i cudnn-linux-x86_64-8.9.4.25_cuda11-archive/include/cudnn*.h /usr/local/cuda-11.7/include
cp -P cudnn-linux-x86_64-8.9.4.25_cuda11-archive/lib/libcudnn* /usr/local/cuda-11.7/lib64
#chmod a+r /usr/local/cuda-11.7/include/cudnn*.h /usr/local/cuda-11.7/lib64/libcudnn*





//查看是否安装成功
#cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
--------------------------------------------------------
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 4
#define CUDNN_PATCHLEVEL 0
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

#endif /* CUDNN_VERSION_H */

cuDNN卸载

因为是插入式设计,cuDNN的卸载也非常简单,只需要把相关文件删除就可以了。
《centos8.5 安装nvidia显卡驱动的笔记》

以后建议使用英伟达-特斯拉系列显卡,专门用于深度学习

《centos8.5 安装nvidia显卡驱动的笔记》
点赞

发表评论

邮箱地址不会被公开。 必填项已用*标注