6.6 KiB
6.6 KiB
H100 PDF 验收项 vs 当前 test all 覆盖对比
对比对象:
- PDF:
/Users/d-robotics/Downloads/H100_production_acceptance.pdf - 当前脚本:
python gpu_tester.py --config configs/default.yaml --test all --report --format md - 范围:单节点 8 卡 H100。跨节点 NCCL/RDMA 暂不纳入本轮。
结论
当前 test all 已经从“功能巡检”扩成了“接近生产验收”的单节点套件:GPU 健康、NVLink/NVSwitch、HBM/PCIe/NVLink 带宽、计算、NCCL、压力、RDMA 本机端口、DCGM、训练模拟都会进入同一个 all。
最新 stress smoke 已确认 PyTorch BF16 GEMM 压力能把两台机器压到 PDF 要求的功耗区间:
aikubeworker0012:45 秒 smoke,稳态平均功耗约697-698W/卡,TFLOPS jitter4.07%,XID0,但温差12C、clocks_throttle_reasons.active=0x4,按 PDF 严格 FAIL。aikubeworker0016:45 秒 smoke,稳态平均功耗约697-699W/卡,TFLOPS jitter3.77%,XID0,但温差8C、clocks_throttle_reasons.active=0x4,按 PDF 严格 FAIL。
也就是说,当前卡点已经不是“脚本压不满 H100”,而是机器在满功耗压力下没有满足 PDF 的 温差 <=5C 和 Throttle Reasons 全程 0x0 两个严格门槛。
但如果严格按 PDF 做最终验收,现在还差这些:
- 24 小时类指标未覆盖:PDF 要求 SBE 24h 增长率、长稳态观察;当前
all是单次快照 + 30 分钟压力,不等于 24 小时老化。 - 跨节点项目本轮故意不测:PDF 的 IB/RDMA 生产验收通常要双端
ib_write_bw/read_bw/lat、ibping;当前按你的要求先做单节点,跨节点未纳入。 - PFC/ECN/AER 的覆盖依赖机器暴露的系统计数器:脚本会读能找到的 sysfs 计数器和 dmesg,但如果交换机侧 PFC/ECN 不在主机暴露,仍需要网络侧补证据。
- NCCL 1MB 档会被严格阈值打失败:实测 1MB AllReduce bus BW 约 23 GB/s,而 256MB AllReduce 已通过
nccl-tests验证,约 421 GB/s;如果 PDF 要求 1MB 也达到 405 GB/s,这项不是“没测”,而是会被判 FAIL。 - Stress 已能达到功耗和 jitter 要求,但短测已经暴露温差和 throttle strict FAIL;完整 1800 秒只会给出更正式的证据,不会自动改变这个判据。
覆盖表
| PDF 验收项 | 当前 test all 状态 |
还少什么 |
|---|---|---|
| GPU 基本信息、Driver/CUDA | 已覆盖 | 无;会记录 driver、CUDA、GPU 型号 |
| 温度阈值:稳态 ≤75C、峰值 ≤85C | 已覆盖健康快照;压力项覆盖 ≤80C | 24h 稳态曲线不在一次 all 内 |
| idle power ≤100W/card | 部分覆盖 | 当前 health 会采功耗,但 idle 判据还不是独立验收项 |
| stress power ≥630W/card | 已覆盖;短测两台约 697-699W/卡 | 完整 1800 秒仍待跑 |
| throttle reasons active=0x0 | 已覆盖;短测两台出现 0x4 | 按 PDF 严格判 FAIL;不是脚本跳过项 |
| DBE/SBE/retired pages | 部分覆盖 | retired pages 和内核错误已查;SBE 24h 增长率未覆盖 |
| PCIe Gen5 x16 | 部分覆盖 | GPU 信息/拓扑可见;Replay/AER 依赖 dmesg/sysfs,可能还需额外主板侧证据 |
| Fabric Manager active 且无 ERROR | 已覆盖 | 无;health 会查 systemd 和 journal |
| NVLink:18 links/GPU、25GB/s/link、错误为 0 | 已覆盖 | 无;新增 nvlink 项 |
| D2D/H2D/D2H 带宽 | 已覆盖 | 依赖 nvbandwidth,两台已具备 |
| 8x8 P2P matrix off-diagonal mean/min/deviation | 已覆盖 | 无;由 nvbandwidth JSON 解析 |
| Compute FP32/TF32/FP16/BF16/FP8/FP64/INT8 | 已覆盖 | INT8 为 PyTorch _int_mm 路径,若要供应商标准 INT8 kernel 需再换实现 |
| NCCL AllReduce/AllGather/ReduceScatter/Broadcast/SendRecv/AllToAll | 已覆盖 | 无;nccl-tests 已在两台编好 |
| NCCL 1MB/256MB/2GB,repeat 3,stddev ≤3% | 已覆盖 | 严格按 PDF 阈值时 1MB 档大概率 FAIL;256MB AllReduce 两台 nccl-tests 实测约 421GB/s |
| Stress ≥30min,BF16/FP16 GEMM 8192,1s telemetry | 已覆盖;默认 BF16 GEMM 24576,1s telemetry,warmup 后稳态判定 |
完整 1800 秒待执行;短测已暴露温差/throttle FAIL |
DCGM dcgmi diag -r 3 |
已覆盖;DCGM 4.5.3 已安装,服务已启用 | 两台完整 -r 3 已 PASS;日志见 /root/test_gpu_scripts/reports/dcgm_r3_*_20260522_17010*.log |
| RDMA 端口 ACTIVE、400Gbps | 部分覆盖 | 单节点可查端口;严格双端吞吐/时延本轮不跑 |
| RDMA write/read bw ≥47GB/s、latency ≤2/3.5us | 部分覆盖 | 单机 localhost/perftest 不等价跨节点线速验收 |
| PFC/ECN errors=0、ibping 双向 OK | 部分覆盖 | 主机能读到的计数器会查;交换机侧/跨节点 ibping 未覆盖 |
| 1.5B synthetic Transformer BF16,8 卡,≥45k tokens/s | 已覆盖 DDP 路径 | 8 进程 DDP smoke 已通过;完整 50 step 长跑待执行 |
| 任一子项 FAIL 则总体验收 FAIL | 已覆盖 | all 现在会按 strict verdict 退出非 0 |
如果现在直接跑 all
推荐命令:
cd /root/test_gpu_scripts
/root/gpu-test-venv/bin/python gpu_tester.py --config configs/default.yaml --test all --report --format json --output reports/h100_all_$(hostname)_$(date +%Y%m%d_%H%M%S).json
如果要直接生成中文 Markdown 报告,用这个:
cd /root/test_gpu_scripts
/root/gpu-test-venv/bin/python gpu_tester.py --config configs/default.yaml --test all --report --format md --output reports/h100_all_$(hostname)_$(date +%Y%m%d_%H%M%S).md
预计行为:
- 会跑完整单节点项目,压力默认 1800 秒,默认使用 PyTorch BF16 GEMM 压力并采 1 秒 telemetry/XID。
- stress 默认矩阵为
24576,用于把 H100 压到 ≥630W/卡;PDF 只要求matrix_size >=8192,这里是为了满足功耗门槛。 - NCCL 会跑 6 个 op × 3 个 message size × 3 次 repeat。
- DCGM 会跑
dcgmi diag -r 3 -n gpu:8 -j;DCGM 工具链已安装并启动,diag -r 1与两台独立r3长跑均已 PASS。 - NCCL 1MB 档按 405GB/s 阈值也会失败;256MB AllReduce 已验证走
nccl-tests,两台约 421GB/s。 - stress 按 PDF 严格口径预计会 FAIL:当前短测证据显示温差超过 5C,且 throttle active 出现
0x4。 - 跨节点 RDMA/NCCL 不在这次单节点 all 里。
当前最小补齐清单
- 如果要严格 RDMA 生产验收,下一轮用两台机器做 server/client 双端测试。
- 执行完整 1.5B DDP 50 step 训练验收并归档 tokens/s、jitter、显存和 loss。
- 执行完整 1800 秒 stress 并归档 1 秒 telemetry、XID、throttle、功耗和温度;当前预期会因温差/throttle FAIL。
- 如果要 24 小时验收,增加一个 24h monitor 模式,记录 SBE 增长率、XID、温度、功耗、降频曲线。