test_gpu_scripts/test_all_aikubeworker0016_中文结果与验收差距.md

74 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# aikubeworker0016 `test all` 中文结果与 H100 验收差距
测试命令:
```bash
/root/gpu-test-venv/bin/python gpu_tester.py --test all --report --format json --output reports_all/test_all.json
```
测试机器:`aikubeworker0016 / 172.72.8.16`
原始结果:`reports_all_aikubeworker0016.json`
## 先说结论
项目输出里最后显示 `Suite complete: 8/8 tests passed`,但这个结论不能直接当成生产验收 PASS。
原因是当前 `all` 的汇总逻辑主要看模块有没有抛 `error`,没有把 `nccl.passed=false``rdma.passed=false` 当成整套失败。因此按 PDF 的生产验收口径,这台机器目前不能算完整验收通过。
## 本次 `test all` 实际结果
| 模块 | 当前结果 | 关键数据 | 按 PDF 验收看 |
| --- | --- | --- | --- |
| GPU 信息 | 已覆盖 | 8 张 H100Driver 580.159.03CUDA 13.0 | 基础信息 OK但 NVLink 链路专项不足 |
| 健康检查 | PASS | health.passed=true | 基础健康 OK但缺 retired pages、AER/Replay、fabricmanager 日志、stress 期间采样 |
| Memory | 有结果 | H2D 55.5 GB/sD2H 55.3 GB/sD2D 486.5 GB/s | 单项看起来不错,但缺 8x8 P2P 矩阵验收 |
| Compute | 有结果 | FP32 51.9TF32 357.0FP16 664.0BF16 700.1FP8 1116.2 TFLOPS | 对 PDF 绝对门槛不全通过 |
| NCCL | 实际不合格 | source=torchrun_fallback`nccl.passed=false`,无 bus BW 性能数据 | 不满足 PDF NCCL 性能验收 |
| Stress | PASS | PyTorch fallback60 秒8 GPU 状态 PASS | 不满足 PDF 的 30/60 分钟 burn-in负载只有约 64MB/卡,压力明显不够 |
| RDMA/IB | 实际不合格 | ib_write_bw/read_bw 0.13 GB/s WARNwrite_lat 4.10us PASSread_lat 16us WARN | 当前是 localhost 单节点口径,不满足 PDF RDMA 生产验收 |
| Training | 有结果 | synthetic 1.47B52471 tokens/speak 27.31GBloss 0.0041 | tokens/s 过线,但代码实际不是 8 卡分布式训练验收 |
## Compute 对 PDF 门槛的判断
PDF H100 PASS 门槛:
| DType | 本次结果 | PDF PASS 门槛 | 判断 |
| --- | ---: | ---: | --- |
| FP32 | 51.9 TFLOPS | >= 54 | WARN |
| TF32 | 357.0 TFLOPS | >= 444 | FAIL |
| FP16 | 664.0 TFLOPS | >= 734 | WARN |
| BF16 | 700.1 TFLOPS | >= 745 | WARN |
| FP8 | 1116.2 TFLOPS | >= 1400 | FAIL |
| FP64 | 未测 | >= 63 | 缺失 |
| INT8 | 未测 | >= 1536 | 缺失 |
说明PDF 里 WARN 区间是 PASS 门槛的 90%-100%。TF32 和 FP8 低于 90% 门槛,所以按 PDF 是 FAIL。
## 如果只执行当前仓库 `test all`,少了什么
1. 少 NVLink 专项验收:没有逐卡检查 18 条链路、25GB/s 速率、CRC/Replay/Recovery error = 0。
2. 少 DCGM 诊断:没有 `dcgmi diag -r 3`
3. 少长时间 burn-in当前是 60 秒,不是 30/60 分钟。
4. 少 stress 期间 1 秒级采样温度、功耗、throttle、XID、TFLOPS 抖动都没按 PDF 统计。
5. 少真正 NCCL 性能:当前退化到 torchrun fallback没有 `nccl-tests` bus BW。
6. 少 NCCL 全操作和三档消息PDF 要 AllReduce/AllGather/ReduceScatter/Broadcast/SendRecv/AllToAll且 1MB/256MB/2GB 都过线。
7. 少 NCCL 重复 3 次取最差值和标准差 <=3%。
8. 少完整 P2P 8x8 矩阵:没有非对角均值、最小值、偏差判断。
9. 少逐 GPU compute 一致性:没有真正分别测 8 卡同 dtype 极差/均值 <=3%。
10. 少 FP64 和 INT8。
11. 少 RDMA 生产口径:当前 `localhost`64KB message阈值 10usPDF 要 4MB BW、8B latency、write/read >=47GB/s、write_lat <=2us、read_lat <=3.5us。
12. 少 PFC/ECN 错误计数和 ibping 双向。
13. 少真正 8 卡分布式 Training Simulation 验收。
14. 少严格最终 verdict当前代码会把 `passed=false` 的模块也计入“通过”,这是验收逻辑漏洞。
## 建议
`test all` 可以继续作为快速初筛跑,但如果目标是对齐 `H100_production_acceptance.pdf`,需要把它升级成“生产验收模式”。优先级如下:
1. 先修汇总 verdict任何子模块 `passed=false` 必须导致整机 FAIL。
2. 先装好 `nccl-tests``gpu-burn`,否则 NCCL/Stress 都不是生产口径。
3. 增加 NVLink、DCGM、长时间 telemetry、P2P 矩阵。
4. 改 RDMA 为生产参数,且支持跨节点。
5. 改 compute/training 为逐 GPU/8 卡分布式验收。