安装驱动
启用官方CRB源
1 dnf config-manager --set-enabled crb
安装EPEL源
1 2 dnf install -y epel-release epel-next-release dnf makecache
安装依赖
1 dnf install -y kernel-headers-$(uname -r) kernel-devel-$(uname -r) tar bzip2 make automake gcc gcc-c++ pciutils elfutils-libelf-devel libglvnd-opengl libglvnd-glx libglvnd-devel acpid pkgconfig dkms
如果安装headers和devel没有当前可用的,可以先安装dkms或更新kernel然后重启继续这步。
禁用Nouveau驱动程序
在安装NVIDIA驱动程序之前,需要禁用系统中的Nouveau开源驱动程序。查看Nouveau是否开启:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 [root@localhost ~]# lsmod | grep nouveau nouveau 3076096 0 drm_gpuvm 49152 1 nouveau drm_exec 16384 2 drm_gpuvm,nouveau gpu_sched 69632 1 nouveau i2c_algo_bit 16384 1 nouveau drm_display_helper 299008 1 nouveau drm_ttm_helper 16384 2 nouveau ttm 114688 2 drm_ttm_helper,nouveau drm_kms_helper 266240 3 drm_display_helper,drm_ttm_helper,nouveau mxm_wmi 12288 1 nouveau drm 806912 9 gpu_sched,drm_kms_helper,drm_exec,drm_gpuvm,drm_display_helper,drm_ttm_helper,ttm,nouveau video 77824 2 asus_wmi,nouveau wmi 45056 5 video,asus_wmi,wmi_bmof,mxm_wmi,nouveau
编辑 /etc/modprobe.d/blacklist.conf
文件,并在文件末尾添加以下行:
1 2 blacklist nouveauoptions nouveau modeset=0
生成initramfs并重启服务器
添加官方NVIDIA CUDA源
1 2 dnf config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel9/$(uname -i)/cuda-rhel9.repo dnf makecache
安装NVIDIA驱动
1 dnf module install -y nvidia-driver:latest-dkms
检查驱动是否安装成功
1 2 3 lsmod | grep nvidia lsmod | grep nouveau nvidia-smi
输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 [root@deepseek ~]# lsmod | grep nvidia nvidia_drm 143360 0 nvidia_modeset 1548288 1 nvidia_drm nvidia_uvm 3956736 0 nvidia 89878528 2 nvidia_uvm,nvidia_modeset drm_ttm_helper 16384 2 amdgpu,nvidia_drm drm_kms_helper 266240 4 drm_display_helper,amdgpu,drm_ttm_helper,nvidia_drm drm 806912 13 gpu_sched,drm_kms_helper,drm_exec,drm_suballoc_helper,drm_display_helper,nvidia,drm_buddy,amdgpu,drm_ttm_helper,nvidia_drm,ttm,amdxcp video 77824 2 amdgpu,nvidia_modeset [root@deepseek ~]# lsmod | grep nouveau [root@deepseek ~]# nvidia-smi Fri Feb 21 14:52:46 2025 +-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 570.86.15 Driver Version: 570.86.15 CUDA Version: 12.8 | |-----------------------------------------+------------------------+----------------------+ | 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 RTX 4090 Off | 00000000:01:00.0 Off | Off | | 30% 34C P8 22W / 450W | 2MiB / 49140MiB | 0% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+ +-----------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=========================================================================================| | No running processes found | +-----------------------------------------------------------------------------------------+
安装CUDA工具包
CUDA官方链接:https://developer.nvidia.com/cuda-downloads
在线安装
添加官方NVIDIA CUDA源(驱动安装第4步已添加可省略)
1 2 dnf config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel9/$(uname -i)/cuda-rhel9.repo dnf makecache
安装CUDA
1 dnf -y install cuda-toolkit-12-9
本地安装
下载CUDA安装包
1 wget https://developer.download.nvidia.com/compute/cuda/12.8.0/local_installers/cuda-repo-rhel9-12-8-local-12.8.0_570.86.10-1.x86_64.rpm
安装包URL:https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=RHEL&target_version=9&target_type=rpm_local
安装CUDA
1 2 3 rpm -i cuda-repo-rhel9-12-8-local-12.8.0_570.86.10-1.x86_64.rpm dnf clean all dnf -y install cuda-toolkit-12-8
配置环境变量 1 2 3 4 5 6 vim ~/.bashrcexport PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH source ~/.bashrc
安装完成后重启系统
增加容器支持 当运行容器docker run --gpus all
报错docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]
时,需要增加容器支持
1 2 3 4 dnf install -y nvidia-container-toolkit nvidia-ctk runtime configure --runtime=docker systemctl restart docker
执行成功后,docker daemon.json会增加以下内容:
1 2 3 4 5 6 7 8 { "runtimes" : { "nvidia" : { "args" : [ ] , "path" : "nvidia-container-runtime" } } }
安装cuDNN
cuDNN(CUDA Deep Neural Network library)是专门用于深度学习的GPU加速库。它建立在CUDA之上,提供了优化的实现,适用于常见的深度学习操作,比如卷积、池化、归一化等。
cuDNN通过提供高效的计算内核,简化了在深度学习框架(如TensorFlow和PyTorch)中使用GPU加速的复杂性。
vllm运行报错ImportError: libcudnn.so.9: cannot open shared object file: No such file or directory
需要安装cuDNN
cuDNN官方链接:https://developer.nvidia.com/cudnn-downloads
在线安装
添加官方NVIDIA CUDA源(驱动安装第4步已添加可省略)
1 2 dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel9/$(uname -i)/cuda-rhel9.repo dnf clean all
安装cuDNN(2选1)
1 2 3 4 dnf -y install cudnn dnf -y install cudnn-cuda-12
本地安装
下载cuDNN安装包
1 wget https://developer.download.nvidia.com/compute/cudnn/9.10.0/local_installers/cudnn-local-repo-rhel9-9.10.0-1.0-1.x86_64.rpm
安装cuDNN
1 2 3 rpm -i cudnn-local-repo-rhel9-9.10.0-1.0-1.x86_64.rpm dnf clean all dnf -y install cudnn
安装cuSPARSELt库 cuSPARSELt
是 NVIDIA 提供的一个库,专门用于加速稀疏矩阵运算。它主要用于以下目的:
稀疏矩阵乘法 : 优化稀疏矩阵与密集矩阵之间的乘法运算,提高计算效率。
高性能计算 : 利用 GPU 的并行计算能力,显著提升稀疏矩阵运算的性能。
机器学习和深度学习 : 在深度学习模型中,稀疏矩阵运算可以用于减少计算量和内存占用,提高推理速度。
支持多种数据类型 : 支持不同的数据类型和精度,包括半精度浮点数和单精度浮点数。
vllm运行报错ImportError: libcusparseLt.so.0: cannot open shared object file: No such file or directory
需要安装cuSPARSELt
cuSPARSELt官方链接:https://developer.nvidia.com/cusparselt-downloads
在线安装
添加官方NVIDIA CUDA源(驱动安装第4步已添加可省略)
1 2 dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel9/$(uname -i)/cuda-rhel9.repo dnf clean all
安装cuSPARSELt库
1 dnf -y install libcusparselt0 libcusparselt-devel
安装NCCL NCCL(NVIDIA Collective Communications Library)是一个用于加速多GPU通信的库。它的主要功能包括:
高效通信 : 提供优化的通信原语,如广播、聚合、减少等,用于多GPU之间的数据交换。
支持多种拓扑结构 : 能够在单机多卡和多机多卡环境中高效工作,支持复杂的网络拓扑。
集成性 : 与深度学习框架(如 TensorFlow 和 PyTorch)无缝集成,简化分布式训练的实现。
可扩展性 : 设计用于处理大规模的GPU集群,支持数百个GPU之间的通信。
自动化优化 : NCCL 自动选择最佳的通信路径和算法,以最大化带宽和最小化延迟。
vllm运行报错ImportError: libnccl.so.2: cannot open shared object file: No such file or directory
需要安装NCCL
NCCL官方链接:https://docs.nvidia.com/deeplearning/nccl/install-guide/index.html
在线安装
添加官方NVIDIA CUDA源(驱动安装第4步已添加可省略)
1 2 dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel9/$(uname -i)/cuda-rhel9.repo dnf clean all
安装NCCL
1 dnf -y install libnccl libnccl-devel libnccl-static