4.7 KiB
4.7 KiB
多节点 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。
- allreduce 当前约
- 当前 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 |
推荐先跑轻量检查:
cd /root/test_gpu_scripts
bash scripts/multinode_nccl_deep_diagnose.sh preflight
完整复跑:
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 后的最小复核:
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
远端机器上的最新同步文件
三份关键报告已经同步到两台节点:
/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:
/root/test_gpu_scripts/reports/nccl_deep_diag_20260523_103932
该目录包含:
preflight.txtallreduce_counter/alltoall_pxn_counter/graph/pxn_sweep/
当前证据摘要
HCA / rail
两台节点当前有效 400G IB rail 一致:
mlx5_0, mlx5_1, mlx5_6, mlx5_7
非等价 HCA:
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
当前两台节点没有找到:
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 概念解释 |
给下一位接手人的路线
- 先读
reports_multinode_nccl_handoff_plan_20260523.md。 - 用
reports_multinode_nccl_environment_gap_20260523.md和硬件/网络侧确认当前节点是否应具备 8 条 400G rail。 - 如果硬件不等价,调整验收口径或换等价节点复测。
- 如果硬件确认等价,先补齐 NCCL net plugin / SHARP,再跑
scripts/multinode_nccl_deep_diagnose.sh graph对比 plugin 前后。 - alltoall 继续排查时优先找网络路径/ECMP/adaptive routing/拥塞策略,不建议继续盲扫 NCCL 小参数。