如果你手里有一张 A100/H100,或者即将接手一台 8-GPU 的 HGX 模组,“跑个 fieldiag 先” 一定是工程师挂在嘴边的一句话。它就像体检表:血压、心电图、B 超一次做完,GPU 能不能扛住 7×24 的 AI 训练,全看这张“成绩单”。
今天这篇,把 fieldiag 到底在跑什么、怎么看报告、以及常见翻车点,一次性讲清。看完你能:
- 5 分钟给同事讲明白 fieldiag 是干啥的
- 30 秒定位“哪颗 GPU 挂了”
- 避免“测完温度才发现电源线松了”的尴尬
1. fieldiag 是什么?
一句话:NV 官方 RMA 的“体检表”。
- 支持全系列 GPU:从 PCIe 单卡到 8-GPU HGX 模组
- 输出三种结果:PASS / FAIL / RETEST
- 生成日志:
logs-yyyymmdd-hhnnss.tgz,售后工程师第一眼就看它
2. 三步起跑——先把环境搭好
- 做个启动 U 盘(Ubuntu 20.04 + 官方 fieldiag 包)
- 插到目标机器,U 盘启动
- 一行命令开跑:
bash
./fieldiag.sh --level2 # 最常用,2 小时完事
小贴士:远程客户现场,让值班小哥拍个屏幕照片就行,日志回头再收。
3. 测试项目全景图
| 模块 | 耗时 | 测什么 | 翻车现场 |
|---|---|---|---|
| skucheck | 15 min | GPU 基本配置、电源、PCIe 速率 | 电源线少插一根,直接 FAIL |
| connectivity | 16 min | NVLink 物理链路、PCIe 速率/宽度 | 某槽位只跑 ×8,原来是转接卡坏了 |
| gpumem | 5 min | 显存颗粒 + FBIO 接口 | 显存坏块,训练到 3% 直接崩 |
| cudacores | 9 min | CUDA Core 指令正确性 | 核心掩码错误,算子跑不出结果 |
| pcie | 13 min | 眼图、速率切换 | 信号完整性差,降到 ×8 才能稳 |
| nvlink | 24 min | NVLink 带宽 + 眼图 | 链路重传率 >1%,多卡训练掉速 |
| nvswitch | 13 min | Switch 芯片眼图 | 8-GPU 拓扑里 Switch 挂了,全网瘫痪 |
| gpustress | 7 min | 满载 GPU 核心 | 频率飙到 97℃ 降频,风扇曲线没调好 |
| power | 24 min | GPU + NVSwitch 供电压力 | 电源瞬载跌落,触发 PSU OCP |
| thermal | 2 h 16 min | 持续高温 85℃+ | 风道被网线挡住,热点死机 |
4. 报告长啥样?
测完会蹦出三选一的“表情包”:
- ✅ PASS:放心上线,该吃吃该睡睡
- ❌ FAIL:日志里会精确到“GPU-2 nvlink 眼图失败”,按图索骥换卡
- 🔄 RETEST:环境异常(U 盘掉了、PCIe 降速了),擦干净重来
日志包解压后重点关注:
result.xml # 一眼看结果
nvlink-eye/*.png # 眼图照片,波浪线越干净越好
gpumem.log # 显存错误比特数 >0 就完蛋
5. 个人踩坑 Top 3
- “测完 thermal 才想起风扇没插”
现场吵得要死,一看转速 0,当场社死。 - “电源线看似插紧,其实卡扣没合”
power 测试随机 FAIL,轻轻一推就好了,客户看你眼神都变了。 - “日志太大,U 盘满了”
建议 16G 起步,测完即刻把日志拷走,别等第二天现场小哥把 U 盘弄丢。