国产GPU在AI服务器上的驱动安装与框架验证步骤
在AI服务器上部署国产GPU,第一步不是直接装深度学习框架,而是把驱动、固件和系统内核的版本关系对齐。
国产GPU厂商通常要求先装驱动包,再更新固件,最后才能被上层框架识别。
顺序错了,设备可能出现在系统里但无法被框架调用。
下面以一台装有Linux的AI服务器为例,说明部署前要确认什么、怎么装、怎么验证。
不同厂商的命令和工具名称差异较大,操作时以所购卡型的官方安装文档为准。
部署前先核对三件事
国产GPU常见的品牌有昇腾、寒武纪、海光、壁仞、摩尔线程等,各家驱动包和工具链命名不同。
开始前先确认:
- 卡型号与服务器兼容性:查看服务器厂商的兼容列表,确认该卡型号在主板、电源和散热上被支持。
- 操作系统版本:多数国产GPU驱动对内核版本有要求,例如某些驱动只支持特定内核区间。用
uname -r查看当前内核,用cat /etc/os-release确认发行版。 - 框架版本:PyTorch、TensorFlow 等框架需要厂商提供的适配版本或插件,不能直接用官方 CUDA 版。先查厂商发布的框架适配清单。
如果服务器已经装了其他GPU驱动,建议先确认是否存在冲突,必要时在测试环境验证后再上生产。
安装驱动与固件
以常见的 runfile 安装方式为例,流程大致如下:
- 从厂商官网下载对应卡型号和系统版本的驱动包,核对文件校验值。
- 停止占用设备的进程,卸载旧驱动(如有)。
- 给安装包执行权限并运行:
chmod +x gpu-driver-installer.run
sudo ./gpu-driver-installer.run
- 按提示选择安装路径和组件,安装完成后重启服务器。
- 如果厂商提供独立固件包,在驱动安装后按文档更新固件,更新期间不要断电。
安装过程中如果提示内核模块编译失败,通常是当前内核缺少头文件或编译器版本不匹配。
先安装 kernel-devel 或 linux-headers 对应版本,再重新运行安装程序。
确认设备真的被识别
驱动装完不等于设备可用。
用厂商提供的设备管理工具查看卡状态,例如:
npu-smi info
或对应厂商的 xxx-smi 命令。
正常输出应能看到卡型号、显存、温度和固件版本。
如果命令不存在,检查驱动安装路径是否已加入 PATH。
再检查系统设备节点:
ls /dev | grep -i gpu
不同厂商的设备节点命名不同,以实际输出为准。
如果设备节点存在但工具报错,优先核对固件版本与驱动版本是否匹配。
在框架里跑通一次小规模计算
框架侧不要直接跑大模型,先用小张量确认调用链路。
以厂商适配的 PyTorch 为例,安装对应的 wheel 包后执行:
import torch
print(torch.__version__)
print(torch.cuda.is_available())
国产GPU的适配层通常会把设备映射为类似 CUDA 的接口,但具体函数名和返回结果以厂商文档为准。
如果返回 False,先回到设备管理工具确认卡状态,再检查框架版本是否与驱动匹配。
容器场景下,需要把设备节点和驱动库挂载进容器,或使用厂商提供的容器运行时。
只装框架不挂设备,容器内同样看不到卡。
常见卡点与排查方向
- 设备管理工具能识别,框架报无可用设备:多为框架适配版本不对,或环境变量未指向厂商库路径。
- 驱动安装时报内核模块错误:核对内核头文件版本,必要时锁定内核版本避免自动升级。
- 多卡机器只识别到部分卡:检查是否开启了 IOMMU 或 PCIe 拆分设置,确认卡在
lspci中可见。 - 固件更新后设备异常:不要反复刷写,联系厂商支持获取回滚方式。
部署完成后,建议把驱动版本、固件版本、框架版本和验证命令输出记录到运维文档,后续升级时先对照这份基线。
国产GPU的生态仍在快速变化,具体命令和包名可能随版本调整。
操作前以所购卡型的最新官方安装文档为准,不要混用不同厂商的驱动和工具。