From ec6b868d3ff9f9a85cd932df9d1386f9e424d0c0 Mon Sep 17 00:00:00 2001 From: cs Date: Sat, 23 May 2026 18:59:45 +0800 Subject: [PATCH] Add NCCL latest report index --- ...ts_multinode_nccl_latest_index_20260523.md | 144 ++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 reports_multinode_nccl_latest_index_20260523.md diff --git a/reports_multinode_nccl_latest_index_20260523.md b/reports_multinode_nccl_latest_index_20260523.md new file mode 100644 index 0000000..94d17b5 --- /dev/null +++ b/reports_multinode_nccl_latest_index_20260523.md @@ -0,0 +1,144 @@ +# 多节点 NCCL 最新索引 2026-05-23 + +## 当前状态 + +当前工作分支:`h100-acceptance-current` + +当前结论: + +- 2 机 4 GPU 档位通过 GPU-NIC 亲和性修正后,已接近 PDF 参考值。 +- 2 机 8 GPU 档位仍未达到 PDF 参考值: + - allreduce 当前约 `354 GB/s busbw`,PDF 目标 `491.84 GB/s`。 + - alltoall 当前约 `36-37 GB/s busbw`,PDF 目标 `76.54 GB/s`。 +- 当前 2 机 8 GPU 剩余差距不再像是旧 NCCL、GDR disabled、HCA 顺序、SSH/mpirun 或明显坏链路问题。 +- 当前更像是硬件 rail 数量与 PDF 不等价、NCCL net plugin / SHARP 缺失、或跨 Leaf alltoall 网络/图策略问题。 + +## 先看这三份 + +| 顺序 | 文件 | 用途 | +|---:|---|---| +| 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_deep_diagnose_run_20260523.md` | 本轮完整深度诊断复跑结果,包含 counter、GRAPH、PXN sweep | + +## 关键脚本 + +| 文件 | 用途 | +|---|---| +| `scripts/multinode_nccl_deep_diagnose.sh` | 可复跑的多节点 NCCL 深度诊断脚本 | +| `docs/multinode_nccl_deep_diagnose_runbook.md` | 诊断脚本中文 runbook | + +推荐先跑轻量检查: + +```bash +cd /root/test_gpu_scripts +bash scripts/multinode_nccl_deep_diagnose.sh preflight +``` + +完整复跑: + +```bash +cd /root/test_gpu_scripts +OUT_DIR=/root/test_gpu_scripts/reports/nccl_deep_diag_$(date +%Y%m%d_%H%M%S) \ + bash scripts/multinode_nccl_deep_diagnose.sh all +``` + +启用 NCCL plugin / SHARP 后的最小复核: + +```bash +cd /root/test_gpu_scripts +OUT_DIR=/root/test_gpu_scripts/reports/nccl_deep_diag_plugin_check_$(date +%Y%m%d_%H%M%S) \ + bash scripts/multinode_nccl_deep_diagnose.sh graph +``` + +## 远端机器上的最新同步文件 + +三份关键报告已经同步到两台节点: + +```text +/root/test_gpu_scripts/reports_multinode_nccl_handoff_plan_20260523.md +/root/test_gpu_scripts/reports_multinode_nccl_environment_gap_20260523.md +/root/test_gpu_scripts/reports_multinode_nccl_deep_diagnose_run_20260523.md +``` + +最新完整诊断产物目录在 `aikubeworker0012`: + +```text +/root/test_gpu_scripts/reports/nccl_deep_diag_20260523_103932 +``` + +该目录包含: + +- `preflight.txt` +- `allreduce_counter/` +- `alltoall_pxn_counter/` +- `graph/` +- `pxn_sweep/` + +## 当前证据摘要 + +### HCA / rail + +两台节点当前有效 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 +``` + +因此当前每节点可用于 NCCL 的 400G rail 是 4 条,理论单向原始带宽约 `200 GB/s`。 + +PDF allreduce 目标 `491.84 GB/s busbw` 反推 `262.31 GB/s algbw`,超过当前 4 x 400G rail 的理论单向带宽。 + +### NCCL / plugin + +当前两台节点没有找到: + +```text +libnccl-net*.so* +libsharp*.so* +``` + +也没有看到 SHARP/HCOLL 包。NCCL GRAPH 日志显示 `plugin_missing=16`,当前走 internal IB plugin。 + +### 深度诊断 + +本轮完整复跑: + +| 项目 | 结果 | +|---|---:| +| allreduce 16G | `354.025 GB/s` | +| graph allreduce 16G | `354.224 GB/s` | +| alltoall + PXN disabled 16G | `36.9377 GB/s` | +| graph alltoall + PXN disabled 16G | `37.14 GB/s` | + +PXN disabled sweep 未发现有效参数: + +- `channels16`、`buff8m`、`p2pchunk4m`、`ar0` 只有小幅噪声级波动。 +- `qps4_split1`、`qps8_split1`、`netpeer8` 明显负向。 + +## 历史/支撑报告 + +| 文件 | 说明 | +|---|---| +| `reports_multinode_nccl_diagnosis_20260523.md` | 长版总诊断,包含从旧 NCCL/GDR disabled 到 PDF 矩阵对齐的全过程 | +| `reports_multinode_nccl_pdf_matrix_nccl227.md` | 按 PDF 矩阵跑出的正式 raw report | +| `reports_multinode_nccl_counter_probe_20260523.md` | RDMA rail 和 counter 证据 | +| `reports_multinode_nccl_alltoall_tuning_20260523.md` | alltoall PXN 和参数 sweep 结论 | +| `reports_rdma_single_node_summary.md` | 单节点 RDMA/HCA 速率摘要 | +| `docs/multinode_nccl_concepts.md` | NCCL/RDMA 概念解释 | + +## 给下一位接手人的路线 + +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 小参数。