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 文件后将提示以下选项:

image

非交互式安装命令: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

安装程序将提示是否安装以下组件:

image

非交互式安装命令: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

image

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

image

posted @ 2025-09-24 15:58  demoduan  阅读(324)  评论(0)    收藏  举报