From c48f9f915df8bc6c043c59a8e76d67bfe2a66448 Mon Sep 17 00:00:00 2001 From: cs Date: Sat, 23 May 2026 20:15:01 +0800 Subject: [PATCH] Summarize current H100 acceptance status --- ...h100_acceptance_current_status_20260523.md | 158 ++++++++++++++++++ ...ts_multinode_nccl_handoff_plan_20260523.md | 3 + ...ts_multinode_nccl_latest_index_20260523.md | 29 ++-- 3 files changed, 178 insertions(+), 12 deletions(-) create mode 100644 reports_h100_acceptance_current_status_20260523.md diff --git a/reports_h100_acceptance_current_status_20260523.md b/reports_h100_acceptance_current_status_20260523.md new file mode 100644 index 0000000..4900f9a --- /dev/null +++ b/reports_h100_acceptance_current_status_20260523.md @@ -0,0 +1,158 @@ +# H100 验收当前状态总览 2026-05-23 + +## 一句话结论 + +当前脚本能力和证据链已经基本补齐:单节点 `test all`、多机多卡 PDF matrix、2x8 六项 collective、跨节点 RDMA、NCCL artifacts、环境快照和 checksum 都已经有可复跑入口和原始证据。但按当前 PDF/配置口径,两台 H100 节点仍不能判定生产验收通过,主要阻塞不是脚本没跑,而是多项实测指标低于阈值,以及当前硬件/软件环境无法证明与 PDF 参考环境等价。 + +## 当前总状态 + +| 范围 | 当前证据 | 结论 | 主要阻塞 | +|---|---|---|---| +| 单节点 `test all` | `reports_test_all_latest_summary_cn_20260523.md` | 两台均 FAIL | Compute、NCCL、Stress、RDMA | +| 跨节点 RDMA | `reports_rdma_cross_node_mlx5_0_20260523.md` | FAIL | read BW、write/read latency 未达阈值 | +| 多机多卡 PDF matrix | `reports_multinode_nccl_pdf_matrix_run_20260523.md` | FAIL | 2x8 allreduce/alltoall 差距大,1/4 GPU 档位部分小差距 | +| 多机多卡 2x8 六项 collective | `reports_multinode_nccl_all_collectives_run_20260523.md` | FAIL / evidence complete | 6 项正确性通过;allreduce/alltoall 按 PDF 阈值 FAIL | +| NCCL artifacts 信号 | `reports_multinode_nccl_artifact_signal_analysis_20260523.md` | 基础链路正常 | IB/GDRDMA/HCA 均正常;无 SHARP/CollNet/外部 net plugin | +| 环境等价性 | `reports_multinode_nccl_environment_gap_20260523.md` | 未证明等价 | 每节点只有 4 条 400G rail,缺 NCCL net plugin / SHARP | + +## 已完成的能力 + +| 能力 | 当前状态 | +|---|---| +| 单节点 H100 all 验收入口 | `scripts/run_h100_single_node_all.sh` 已可用,默认带环境快照 | +| 多机 PDF matrix 入口 | `scripts/run_multinode_nccl_pdf_matrix.sh` 已可用,自动归档每个 case 的 `cmd/stdout/stderr/json` | +| 多机 2x8 六项 collective 入口 | `scripts/run_multinode_nccl_all_collectives.sh` 已可用,覆盖 `allreduce/alltoall/broadcast/reducescatter/allgather/sendrecv` | +| NCCL 深度诊断入口 | `scripts/multinode_nccl_deep_diagnose.sh` 已可用,覆盖 preflight、counter、graph、PXN sweep | +| 环境等价性快照 | `scripts/nccl_environment_snapshot.sh` 已可用 | +| 原始证据归档 | PDF matrix 和六项 collective artifacts 均已 tar + checksum | +| 中文解释文档 | 指标说明、NCCL/RDMA 概念、handoff、environment gap、artifact signal analysis 均已生成 | + +## 单节点验收状态 + +两台机器的单节点 `test all` 当前都是: + +```text +Suite: 6/10 PASS +PDF acceptance: FAIL +``` + +通过项: + +- GPU Info +- Health +- Memory Bandwidth +- NVLink/NVSwitch +- DCGM diag -r 3 +- Training Simulation + +失败项: + +| 项目 | 当前现象 | 备注 | +|---|---|---| +| Compute | 多 dtype 绝对 TFLOPS 阈值未达,部分 GPU 间 spread 超 3% | 需要复核 H100 阈值口径和具体 dtype 路径 | +| NCCL 单机 | 真实 `nccl-tests` 已可测,但多 op/size 未达阈值 | 主要是 1M 小包,以及 reducescatter/allgather 的 2G | +| Stress | 30 分钟可跑满,但温差和 `sw_power_cap` throttle 导致 FAIL | 更像散热/功耗策略或阈值口径问题 | +| RDMA 单机 | read BW 未达标,部分端口速率低于 400G | 单机 local-loopback 不能替代跨节点 RDMA | + +## 跨节点 RDMA 状态 + +跨节点 `mlx5_0` 单 rail perftest 结果: + +| Direction | Test | Value | Threshold | Status | +|---|---|---:|---:|---| +| 0016 -> 0012 | ib_write_bw | 49.35 GB/s | >= 47 GB/s | PASS | +| 0016 -> 0012 | ib_read_bw | 44.36 GB/s | >= 47 GB/s | FAIL | +| 0016 -> 0012 | ib_write_lat avg | 2.17 us | <= 2.0 us | FAIL | +| 0016 -> 0012 | ib_read_lat avg | 4.05 us | <= 3.5 us | FAIL | +| 0012 -> 0016 | ib_write_bw | 48.38 GB/s | >= 47 GB/s | PASS | +| 0012 -> 0016 | ib_read_bw | 44.37 GB/s | >= 47 GB/s | FAIL | +| 0012 -> 0016 | ib_write_lat avg | 2.13 us | <= 2.0 us | FAIL | +| 0012 -> 0016 | ib_read_lat avg | 4.08 us | <= 3.5 us | FAIL | + +判断:链路连通、ibping 正常、PFC/ECN/CNP/congestion counter 干净;但 read bandwidth 和 latency 仍低于阈值,需要网络/OFED/BIOS/firmware 或 perftest 参数侧继续确认。 + +## 多机多卡 NCCL 状态 + +### PDF Matrix + +| Topology | AllReduce | Target | Status | AllToAll | Target | Status | +|---|---:|---:|---|---:|---:|---| +| 2 nodes x 1 GPU | 47.29 | 48.90 | FAIL | 24.85 | 27.25 | FAIL | +| 2 nodes x 2 GPUs | 137.16 | 136.93 | PASS | 47.76 | 54.41 | FAIL | +| 2 nodes x 4 GPUs | 335.07 | 335.48 | FAIL | 72.74 | 73.73 | FAIL | +| 2 nodes x 8 GPUs | 353.85 | 491.84 | FAIL | 36.83 | 76.54 | FAIL | + +所有 case 均 `returncode=0`、`wrong=0`,所以 FAIL 来自性能阈值,不是功能错误。 + +### 2x8 六项 Collective 补测 + +| Operation | Peak Bus BW | Threshold | Correctness | Network | Status | +|---|---:|---:|---|---|---| +| allreduce | 354.27 | >= 491.84 | wrong=0 | IB/GDRDMA | FAIL | +| alltoall | 37.00 | >= 76.54 | wrong=0 | IB/GDRDMA | FAIL | +| broadcast | 191.65 | 未配置 | wrong=0 | IB/GDRDMA | PASS evidence | +| reducescatter | 192.75 | 未配置 | wrong=0 | IB/GDRDMA | PASS evidence | +| allgather | 192.14 | 未配置 | wrong=0 | IB/GDRDMA | PASS evidence | +| sendrecv | 26.98 | 未配置 | wrong=0 | IB/GDRDMA | PASS evidence | + +这说明多机多卡 collective 覆盖面已经补齐,但生产性能是否达标仍取决于 PDF 是否有对应跨节点阈值,以及当前环境是否与 PDF 等价。 + +## 当前最关键阻塞 + +### 1. PDF 参考环境等价性未确认 + +当前两台节点每节点只有 4 条可用于 NCCL 的 400G IB rail: + +```text +mlx5_0, mlx5_1, mlx5_6, mlx5_7 +``` + +其他 HCA: + +```text +mlx5_4, mlx5_5: 100G InfiniBand +mlx5_2, mlx5_8: 25G Ethernet +mlx5_3, mlx5_9: DOWN +``` + +PDF 2x8 allreduce 目标 `491.84 GB/s busbw` 反推 algbw 为 `262.31 GB/s`,高于当前 4 x 400G rail 的理论单向原始带宽 `200 GB/s`。如果 PDF 参考环境有更多 400G rail 或 SHARP/plugin,当前硬件/软件栈不等价。 + +### 2. 缺少 NCCL net plugin / SHARP + +当前没有发现: + +```text +libnccl-net*.so* +libsharp*.so* +SHARP / HCOLL package +``` + +NCCL 日志中没有 SHARP/CollNet 迹象,当前走 internal IB plugin。 + +### 3. alltoall 仍是独立问题 + +`NCCL_PXN_DISABLE=1` 后 alltoall rail 更均衡,但 2x8 仍只有约 `36-37 GB/s`。已有 sweep 没找到稳定正收益,下一步应该交给网络路径、ECMP/adaptive routing、拥塞控制、plugin/SHARP 等方向,而不是继续盲调 NCCL 小参数。 + +### 4. 单节点 Compute/Stress/RDMA 也未过 + +即使多机 NCCL 后续解决,两台机器按当前 PDF `test all` 仍因 Compute、Stress、RDMA 项失败,不能直接判整机生产验收通过。 + +## 建议下一步 + +1. **硬件/网络侧先确认 PDF 等价性。** 确认参考环境每节点到底是 4 条还是 8 条 400G rail,是否启用 SHARP/NCCL net plugin,交换网络是否同一策略。 +2. **环境侧补齐或明确排除 SHARP/plugin。** 如果 PDF 环境有,当前必须补齐后重跑 `scripts/run_multinode_nccl_pdf_matrix.sh` 和 `scripts/run_multinode_nccl_all_collectives.sh`。 +3. **网络侧排查 alltoall。** 重点看跨 Leaf ECMP/adaptive routing/拥塞控制/credit wait,而不是只看链路是否 up。 +4. **单节点继续分项收敛。** Compute 阈值、Stress 温差/功耗 cap、RDMA read/latency 需要分别确认是机器问题、配置问题还是阈值口径问题。 +5. **如果硬件不等价,调整验收阈值或换等价节点复测。** 当前证据不支持把 4 rail 环境直接按疑似更高规格 PDF 阈值判定。 + +## 当前最值得先读的文件 + +| 顺序 | 文件 | 用途 | +|---:|---|---| +| 1 | `reports_h100_acceptance_current_status_20260523.md` | 当前总览和阻塞清单 | +| 2 | `reports_multinode_nccl_handoff_plan_20260523.md` | 给网络/硬件/环境侧的交接计划 | +| 3 | `reports_multinode_nccl_environment_gap_20260523.md` | PDF 环境等价性缺口 | +| 4 | `reports_multinode_nccl_artifact_signal_analysis_20260523.md` | NCCL artifacts 信号分析 | +| 5 | `reports_multinode_nccl_all_collectives_run_20260523.md` | 多机 2x8 六项 collective 补测摘要 | +| 6 | `reports_test_all_latest_summary_cn_20260523.md` | 单节点 test all 中文汇总 | +| 7 | `reports_rdma_cross_node_mlx5_0_20260523.md` | 跨节点 RDMA 单 rail 证据 | diff --git a/reports_multinode_nccl_handoff_plan_20260523.md b/reports_multinode_nccl_handoff_plan_20260523.md index 69bae84..d70ea8b 100644 --- a/reports_multinode_nccl_handoff_plan_20260523.md +++ b/reports_multinode_nccl_handoff_plan_20260523.md @@ -4,6 +4,8 @@ 当前 2 机 8 卡 NCCL 已经排除旧 NCCL、GDR disabled、HCA 选择错误、SSH/mpirun launch、明显链路错误等问题;剩余差距集中在 **硬件 rail 数量是否与 PDF 等价**、**NCCL net plugin / SHARP 是否缺失**、以及 **alltoall 在当前跨 Leaf 网络下的图策略/交换路径效率**。 +全局验收状态先看 `reports_h100_acceptance_current_status_20260523.md`;该文件把单节点 `test all`、跨节点 RDMA、多机 NCCL 和阻塞项汇总到一张总表。 + ## 已经验证的事实 | 事实 | 当前证据 | @@ -178,6 +180,7 @@ OUT_DIR=/root/test_gpu_scripts/reports/nccl_deep_diag_plugin_check_$(date +%Y%m% | 文件 | 用途 | |---|---| +| `reports_h100_acceptance_current_status_20260523.md` | 当前 H100 验收总览,汇总单节点、多机 NCCL、跨节点 RDMA 和阻塞项 | | `reports_multinode_nccl_diagnosis_20260523.md` | 总诊断报告 | | `reports_multinode_nccl_pdf_matrix_20260523_112247.md` | 上一次多机多卡 PDF matrix 原始报告 | | `reports_multinode_nccl_pdf_matrix_20260523_113803.md` | 最新带 artifacts 的多机多卡 PDF matrix 原始报告 | diff --git a/reports_multinode_nccl_latest_index_20260523.md b/reports_multinode_nccl_latest_index_20260523.md index 1e99d08..2867b32 100644 --- a/reports_multinode_nccl_latest_index_20260523.md +++ b/reports_multinode_nccl_latest_index_20260523.md @@ -10,6 +10,7 @@ - 已补充 artifacts 信号分析:`reports_multinode_nccl_artifact_signal_analysis_20260523.md`。结论是所有 case 都走 `IB`,都使用 `mlx5_0,mlx5_1,mlx5_6,mlx5_7`,都有 GDRDMA 信号,但没有 SHARP/CollNet/外部 NCCL net plugin 证据。 - 已补充并实跑多机多卡 2x8 六项 collective:`reports_multinode_nccl_all_collectives_run_20260523.md`。新增 `broadcast/reducescatter/allgather/sendrecv` 均 `returncode=0`、`wrong=0`、走 `IB/GDRDMA`;已知 PDF 阈值项 `allreduce/alltoall` 仍 FAIL。 - 六项 collective 的完整 artifacts 已归档:`reports_multinode_nccl_all_collectives_artifacts_manifest_20260523_120144.md`,远端 tar 为 `reports/multinode_nccl_all_collectives_20260523_120144_artifacts.tar.gz`。 +- 已补充当前验收状态总览:`reports_h100_acceptance_current_status_20260523.md`,把单节点、多机 NCCL、跨节点 RDMA、环境等价性和阻塞项合并到一份中文总表。 - 2 机 1/2/4 GPU per node 档位已接近 PDF 参考值,但严格按阈值仍 FAIL。 - 2 机 8 GPU 档位仍未达到 PDF 参考值: - allreduce 实测 `353.85 GB/s busbw`,PDF 目标 `491.84 GB/s`。 @@ -21,13 +22,14 @@ | 顺序 | 文件 | 用途 | |---:|---|---| -| 1 | `reports_multinode_nccl_handoff_plan_20260523.md` | 给网络/硬件/环境侧的交接计划,包含决策树、要问的问题和复跑命令 | -| 2 | `reports_multinode_nccl_environment_gap_20260523.md` | 说明当前环境为什么不能证明与 PDF 等价,重点是 4 x 400G rail 和缺少 NCCL net plugin / SHARP | -| 3 | `reports_multinode_nccl_artifact_signal_analysis_20260523.md` | 最新 artifacts 信号分析,确认 IB/GDRDMA/HCA 使用情况和 plugin/SHARP 缺口 | -| 4 | `reports_multinode_nccl_all_collectives_run_20260523.md` | 多机多卡 2x8 六项 collective 补测结果,补齐单机 test all 的 NCCL 覆盖面 | -| 5 | `reports_multinode_nccl_all_collectives_artifacts_manifest_20260523_120144.md` | 多机多卡 2x8 六项 collective artifacts manifest 和 checksum | -| 6 | `reports_multinode_nccl_pdf_matrix_run_20260523.md` | 最新正式多机多卡 PDF matrix 结果摘要 | -| 7 | `reports_multinode_nccl_deep_diagnose_run_20260523.md` | 本轮完整深度诊断复跑结果,包含 counter、GRAPH、PXN sweep | +| 1 | `reports_h100_acceptance_current_status_20260523.md` | 当前 H100 验收总览,汇总单节点、多机 NCCL、跨节点 RDMA 和阻塞项 | +| 2 | `reports_multinode_nccl_handoff_plan_20260523.md` | 给网络/硬件/环境侧的交接计划,包含决策树、要问的问题和复跑命令 | +| 3 | `reports_multinode_nccl_environment_gap_20260523.md` | 说明当前环境为什么不能证明与 PDF 等价,重点是 4 x 400G rail 和缺少 NCCL net plugin / SHARP | +| 4 | `reports_multinode_nccl_artifact_signal_analysis_20260523.md` | 最新 artifacts 信号分析,确认 IB/GDRDMA/HCA 使用情况和 plugin/SHARP 缺口 | +| 5 | `reports_multinode_nccl_all_collectives_run_20260523.md` | 多机多卡 2x8 六项 collective 补测结果,补齐单机 test all 的 NCCL 覆盖面 | +| 6 | `reports_multinode_nccl_all_collectives_artifacts_manifest_20260523_120144.md` | 多机多卡 2x8 六项 collective artifacts manifest 和 checksum | +| 7 | `reports_multinode_nccl_pdf_matrix_run_20260523.md` | 最新正式多机多卡 PDF matrix 结果摘要 | +| 8 | `reports_multinode_nccl_deep_diagnose_run_20260523.md` | 本轮完整深度诊断复跑结果,包含 counter、GRAPH、PXN sweep | ## 关键脚本 @@ -99,6 +101,7 @@ OUT_DIR=/root/test_gpu_scripts/reports/nccl_deep_diag_plugin_check_$(date +%Y%m% ```text /root/test_gpu_scripts/reports_multinode_nccl_handoff_plan_20260523.md +/root/test_gpu_scripts/reports_h100_acceptance_current_status_20260523.md /root/test_gpu_scripts/reports_multinode_nccl_environment_gap_20260523.md /root/test_gpu_scripts/reports_multinode_nccl_artifact_signal_analysis_20260523.md /root/test_gpu_scripts/reports_multinode_nccl_all_collectives_run_20260523.md @@ -228,6 +231,7 @@ PXN disabled sweep 未发现有效参数: | 文件 | 说明 | |---|---| | `reports_multinode_nccl_diagnosis_20260523.md` | 长版总诊断,包含从旧 NCCL/GDR disabled 到 PDF 矩阵对齐的全过程 | +| `reports_h100_acceptance_current_status_20260523.md` | 当前 H100 验收总览,汇总单节点、多机 NCCL、跨节点 RDMA 和阻塞项 | | `reports_multinode_nccl_pdf_matrix_nccl227.md` | 按 PDF 矩阵跑出的正式 raw report | | `reports_multinode_nccl_pdf_matrix_20260523_112247.md` | 上一次正式 PDF matrix 原始报告 | | `reports_multinode_nccl_pdf_matrix_20260523_113803.md` | 最新带 artifacts 的正式 PDF matrix 原始报告 | @@ -244,8 +248,9 @@ PXN disabled sweep 未发现有效参数: ## 给下一位接手人的路线 -1. 先读 `reports_multinode_nccl_handoff_plan_20260523.md`。 -2. 用 `reports_multinode_nccl_environment_gap_20260523.md` 和硬件/网络侧确认当前节点是否应具备 8 条 400G rail。 -3. 如果硬件不等价,调整验收口径或换等价节点复测。 -4. 如果硬件确认等价,先补齐 NCCL net plugin / SHARP,再跑 `scripts/multinode_nccl_deep_diagnose.sh graph` 对比 plugin 前后。 -5. alltoall 继续排查时优先找网络路径/ECMP/adaptive routing/拥塞策略,不建议继续盲扫 NCCL 小参数。 +1. 先读 `reports_h100_acceptance_current_status_20260523.md`。 +2. 再读 `reports_multinode_nccl_handoff_plan_20260523.md`。 +3. 用 `reports_multinode_nccl_environment_gap_20260523.md` 和硬件/网络侧确认当前节点是否应具备 8 条 400G rail。 +4. 如果硬件不等价,调整验收口径或换等价节点复测。 +5. 如果硬件确认等价,先补齐 NCCL net plugin / SHARP,再跑 `scripts/multinode_nccl_deep_diagnose.sh graph` 对比 plugin 前后。 +6. alltoall 继续排查时优先找网络路径/ECMP/adaptive routing/拥塞策略,不建议继续盲扫 NCCL 小参数。