GPU 驱动及 CUDA 安装流程指南
摘要: 本指南提供了在 Linux (CentOS/Ubuntu/SUSE) 服务器上部署 NVIDIA GPU 环境的标准作业程序 (SOP)。涵盖了从硬件检查、依赖安装、Nouveau 禁用、驱动安装到 CUDA 环境配置的全过程,特别包含了针对 SXM 架构的 Fabric Manager 配置。
1. 安装前准备
1.1 硬件与系统检查
确保 GPU 已物理连接并被系统识别。
bash
# 查看 PCI 设备
lspci | grep -i nvidia如果无输出,请检查物理插槽或电源连接。
1.2 软件获取
请访问 NVIDIA 官方下载最新版本:
- Driver: NVIDIA Driver Downloads (选择 Linux 64-bit)
- CUDA: CUDA Toolkit Archive (推荐 runfile(local) 方式)
1.3 环境清理
如果系统存在旧版本,建议彻底卸载。
bash
# 卸载驱动
/usr/bin/nvidia-uninstall -s
# 卸载 CUDA
/usr/local/cuda-X.Y/bin/cuda-uninstaller1.4 安装基础依赖
使用本地源安装编译所需的头文件和工具链。
CentOS 7:
bash
yum install -y gcc gcc-c++ tar make bzip2 pkgconfig \
libglvnd-devel elfutils-libelf-devel \
kernel-devel-$(uname -r) kernel-headers-$(uname -r)Ubuntu:
bash
apt-get update
apt-get install -y gcc g++ tar make pkg-config build-essential \
libglvnd-dev linux-headers-$(uname -r)1.5 禁用 Nouveau
Nouveau 是开源驱动,必须禁用才能安装官方闭源驱动。
- 检查加载状态:bash
lsmod | grep nouveau - 创建屏蔽配置: CentOS/RHEL:
/usr/lib/modprobe.d/blacklist-nouveau.confUbuntu:/etc/modprobe.d/blacklist.confbashblacklist nouveau options nouveau modeset=0 - 重建内核镜像并重启:bash
# CentOS dracut -f # Ubuntu update-initramfs -u reboot
2. GPU 驱动安装
运行级别
驱动安装必须在字符界面 (Runlevel 3) 下进行,且需停止 X-Server。
2.1 执行安装
假设驱动包名为 NVIDIA-Linux-x86_64-xxx.run。
bash
chmod +x NVIDIA-Linux-x86_64-*.run
# -a: 接受许可, -s: 静默模式, -Z: 禁用 Nouveau (再次确保), --no-opengl-files: 不安装 OpenGL (避免图形界面冲突)
./NVIDIA-Linux-x86_64-*.run -a -s -Z --no-opengl-files2.2 持久化模式 (Persistence Mode)
开启持久化模式可避免驱动频繁加载/卸载,降低延迟。
bash
# 方法 A: 开启系统服务 (推荐)
systemctl enable nvidia-persistenced
systemctl start nvidia-persistenced
# 方法 B: 命令行设置 (临时)
nvidia-smi -pm 12.3 Fabric Manager (SXM GPU 必选)
对于 A100/H100/H800 SXM (NVLink) 版本,必须安装 Fabric Manager,否则 GPU 无法通过 NVLink 通信。
bash
# 安装 (以 RPM 为例,版本需与驱动完全一致)
rpm -ivh nvidia-fabricmanager-*.rpm
# 启动服务
systemctl enable --now nvidia-fabricmanager3. CUDA Toolkit 安装
3.1 执行安装
bash
chmod +x cuda_*.run
# --no-opengl-libs: 不安装 OpenGL 库
# 注意: 在交互界面中,取消勾选 "Driver" (因为第 2 步已安装)
./cuda_*.run --no-opengl-libs3.2 环境变量配置
编辑 /etc/profile 或 ~/.bashrc:
bash
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH生效并验证:
bash
source /etc/profile
nvcc -V4. 验证与维护
4.1 常用验证命令
| 组件 | 验证命令 | 预期结果 |
|---|---|---|
| 驱动状态 | nvidia-smi | 显示 GPU 列表、显存、功率 |
| CUDA 版本 | nvcc -V | 显示版本号 |
| Fabric Manager | systemctl status nvidia-fabricmanager | Active (Running) |
| 持久化服务 | systemctl status nvidia-persistenced | Active (Running) |
| Nouveau | `lsmod | grep nouveau` |
4.2 常见问题
rmmod: ERROR: Module nouveau is in use: 说明 Nouveau 仍在运行,请确保已切换到 Init 3 模式并重启过系统。- 安装失败: 检查
/var/log/nvidia-installer.log。通常是因为kernel-devel版本与当前运行内核uname -r不一致。
