摩尔线程GPU在AI服务器上的驱动安装与算力验证
摩尔线程GPU在AI服务器上能否正常使用,取决于三件事是否都做到位:驱动装对版本、MUSA工具链可用、系统能通过官方工具识别到设备。
只装驱动不验证工具链,往往在跑模型时才暴露问题;
只装工具链不核对内核,则可能在重启后设备直接消失。
下面按实际操作顺序展开。
先确认系统和内核条件
摩尔线程驱动以内核模块形式加载,内核版本与驱动包的匹配关系是后续所有问题的源头。
动手前先记录环境信息:
cat /etc/os-release
uname -r
lspci | grep -i moore
lspci 的输出能确认主板是否已经识别到GPU硬件。
如果这一步看不到设备,后面装什么驱动都没用,应先检查卡是否插紧、PCIe供电是否正常、BIOS中相关插槽是否被禁用。
同时确认几件事:
- 系统版本在驱动包支持的发行版列表内,不要拿桌面版内核硬套服务器版驱动
- 已安装与当前内核匹配的
kernel-devel或linux-headers包,否则编译内核模块会失败 - 关闭或调整可能干扰设备初始化的安全启动策略,具体以驱动包说明为准
- 记录当前内核版本,升级内核后需要重新编译驱动模块
安装驱动与MUSA工具链
驱动包和MUSA工具链建议从摩尔线程官方渠道获取,版本以官方发布的兼容性说明为准,不要混用不同批次的包。
典型安装流程如下:
# 赋予执行权限并运行安装包
chmod +x ./moore-driver-*.run
sudo ./moore-driver-*.run
# 安装MUSA工具链
sudo ./musa-toolkit-*.run
安装过程中留意两个点:一是安装器是否提示内核模块编译成功,二是是否提示需要重启。
内核模块编译失败通常与缺少头文件包或内核版本过新有关,此时不要强行继续,先补齐依赖再重装。
安装完成后加载模块并设置开机自启:
sudo modprobe mtgpu
lsmod | grep mtgpu
lsmod 有输出说明模块已加载。
若为空,查看 dmesg | tail -50 中与GPU相关的报错,常见原因是模块签名校验失败或内核版本不匹配。
用mt-smi确认设备与算力状态
驱动装好后,用官方管理工具检查设备状态,这是判断配置是否成功最直接的方式:
mt-smi
mt-smi -q
正常输出应能看到GPU型号、显存容量、温度、功耗和驱动版本。
重点核对三项:
- 设备数量与物理安装的卡数一致
- 驱动版本与工具链版本匹配
- 显存容量显示正常,没有出现0MB或异常偏小
如果 mt-smi 命令不存在,说明工具链路径未加入环境变量,检查安装目录下的 bin 是否已写入 PATH,或直接用绝对路径执行。
在容器中验证实际可用性
AI服务器上跑模型多数走容器,所以要在容器内再验证一次。
前提是宿主机已安装容器运行时和对应的GPU容器支持组件,具体组件名称以官方文档为准。
docker run --rm --device=/dev/mtgpu0 -it <镜像名> bash
进入容器后执行 mt-smi,确认设备可见;
再运行工具链自带的示例程序或编译一个最小测试程序,确认编译器、运行时库和驱动三层都通。
只看到设备但示例程序报找不到运行时库,通常是容器内环境变量未透传,需要挂载工具链目录或设置 LD_LIBRARY_PATH。
常见失败点与处理思路
以下几类问题在首次部署时出现频率较高:
- 重启后设备消失:多为模块未设置开机自启,检查
/etc/modules-load.d/下是否有对应配置,或确认安装器是否注册了systemd服务。 - 内核升级后驱动失效:内核模块需要针对新内核重新编译,升级内核前先确认驱动包是否支持,必要时锁定内核版本。
- mt-smi能识别但程序报错:优先核对工具链版本与驱动版本是否配套,再检查运行时库路径。
- 多卡场景只识别到一张:检查PCIe拓扑和供电,部分服务器需要调整BIOS中Above 4G Decoding等选项。
每次修改后都回到 mt-smi 和 dmesg 复查,确认状态变化,避免在多个变量同时改动时无法定位原因。
验证完成后的收尾检查
配置完成后建议做一次完整复查:重启服务器,确认模块自动加载、mt-smi 正常输出、容器内示例程序可运行。
把驱动版本、工具链版本、内核版本记录到运维文档中,后续升级或扩容时有据可查。
对于多台同型号服务器,可将安装步骤整理成脚本批量执行,但首次仍建议单台手动验证通过后再推广。