RHEL/CentOS install NVIDIA Driver and CUDA
生产环境推荐安装顺序:Driver --> CUDA Toolkit -> CUDNN (可选)
CUDA Toolkit 的某些安装包(尤其是 .run 文件)确实内嵌了 NVIDIA 驱动,并可以在安装过程中选择是否同时安装驱动。然而,官方和社区仍然普遍推荐 先单独安装驱动,再安装 CUDA Toolkit,原因如下:
1. 避免驱动版本冲突与安装失败
- CUDA Toolkit 内嵌的驱动版本可能低于系统当前已安装的驱动(例如之前为了兼容性手动安装了更新版的驱动),如果强行降级会导致已有 GPU 应用异常
- 某些 Linux 发行版(如 RHEL/CentOS)已经通过 kmod-nvidia 或 nvidia-driver 包提供了驱动,再通过 CUDA 安装驱动可能产生文件冲突或依赖问题
2. 驱动与 CUDA Toolkit 的解耦管理
- 驱动更新频繁(修复安全漏洞、支持新 GPU),而 CUDA Toolkit 更新较慢。分开安装可以单独升级驱动而不影响 CUDA 环境
- 企业环境中,系统管理员可能使用统一驱动版本(来自发行版仓库),而开发人员使用特定 CUDA 版本,两者分开更灵活
3. 更好地处理内核依赖
- NVIDIA 驱动需要编译内核模块,对 kernel-devel 和 gcc 版本敏感。单独安装驱动可以预先解决这些依赖问题,确保内核模块编译成功
- CUDA Toolkit 安装过程如果同时安装驱动,一旦内核模块编译失败,整个安装过程可能回滚或留下不完整的状态
4. 生产环境的最佳实践
- 在服务器或 HPC 集群上,通常先通过 yum/apt 安装发行版认证的驱动(如 nvidia-driver-535),再安装 CUDA Toolkit(例如通过 yum install cuda)。这样能保证与操作系统内核、X11 等组件的兼容性
- 容器场景(如 NVIDIA Container Toolkit)下,宿主机只需安装驱动,容器内使用 CUDA 基础镜像,根本不需要在容器内装驱动
# 安装步骤
# 1. 查看系统是否可以识别到 NVIDIA 显卡
lspci |grep -i nvidia
# 2. 安装内核文件确保和内核版本一致
yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)
# 3. 安装编译工具
yum groupinstall "Development Tools"
yum install gcc make
# 4. 禁用 nouveau 驱动
vim /etc/default/grub
"GRUB_CMDLINE_LINUX" 中添加 rd.driver.blacklist=nouveau nouveau.modeset=0
重建 grub 配置
UEFI 引导执行如下操作:
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
echo "blacklist nouveau" > /etc/modprobe.d/nvidia-default.conf
Legacy 引导执行如下操作:
grub2-mkconfig -o /boot/grub2/grub.cfg
echo "blacklist nouveau" > /etc/modprobe.d/nvidia-default.conf
# 5. 备份
cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
dracut /boot/initramfs-$(uname -r).img $(uname -r)
# 6. 重启验证 nouveau 是否被禁用
reboot
lsmod |grep nouveau
# 7. 驱动安装
驱动下载地址:https://www.nvidia.cn/Download/index.aspx?lang=cn
init 3
sh NVIDIA-Linux-*.run
执行 run 文件后将提示以下选项:

非交互式安装命令:sh NVIDIA-Linux-*.run --silent --dkms --accept-license --kernel-module-type=proprietary --no-questions --no-x-check --no-nouveau-check
# 8. 检查并重启
nvidia-smi
reboot
# 9. 安装 CUDA(可以采用 RPM 或 RUN 脚本方式进行安装,推荐使用 RUN 脚本)
CUDA 下载地址: https://developer.nvidia.com/cuda-downloads
RPM 方式:
rpm -ivh cuda-repo-<distro>-<version>.<architecture>.rpm
yum clean all
yum install cuda
RUN 方式:
sh cuda_ <version> _linux.run
安装程序将提示是否安装以下组件:

非交互式安装命令:sh cuda_*_linux.run --silent --toolkit --no-opengl-libs --no-man-page --override
# 10. 配置环境变量
编辑 .bash_profile 或 /etc/environment
export PATH=/usr/local/cuda-<version>/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-<version>/lib64:$LD_LIBRARY_PATH
# 11. 验证 CUDA
nvcc -V
如果显示版本信息(如 Cuda compilation tools, release 13.x),说明 CUDA Toolkit 已安装且 nvcc 在 PATH 中
# 12. 安装 CUDNN(可选)
CUDNN 下载地址:https://developer.nvidia.com/cudnn-downloads

CUDNN 需要和 CUDA 版本匹配(https://docs.nvidia.com/deeplearning/cudnn/backend/latest/reference/support-matrix.html#support-matrix)


浙公网安备 33010602011771号