万卡集群硬件选型与验收清单
摘要:万卡集群是"机房级"工程,选型错误在事后几乎无法挽回(机柜、供电、散热都定了)。本文给出五维选型框架与四步验收流程,全部来自大型 AI/HPC 集群交付实战——每一条都对应一个踩过的坑。
1. 五维选型框架
① 算力 —— 训练/科学负载的 TFLOPS 需求
② 显存 —— 容量 + 带宽(模型能否装下、装下后喂不喂得饱)
③ 互联 —— 节点内 NVLink + 节点间 IB/RoCE 拓扑
④ 存储 —— 并行文件系统吞吐(checkpoint 与数据集加载)
⑤ 功耗散热 —— 机柜功率密度与冷却方式(经常被低估)1.1 算力与显存:按目标负载倒推
- 明确目标模型 + 精度 + 序列长度,用 [分布式并行](/guide/11-training/distributed-parallelism)的估算公式倒推卡数。
- 显存容量要留 20~30% 余量:激活、中间张量、通信缓冲区(NCCL_BUFFSIZE)都会吃显存。
- 带宽优先级:训练 > 长上下文推理 > 低并发推理。
1.2 互联:决定扩展效率
- 节点内:8 卡 NVLink 全互联为底线,检查 NVSwitch 是否健康(
nvidia-smi topo -m)。 - 节点间:IB NDR 400G 起步(万卡级),RoCE 需严格 PFC/ECN 配置(见 NCCL 调优)。
- 拓扑:训练优先胖树;MoE 混合负载评估高 radix/全连接方案。
- 验收时用
nccl-tests测 256 卡跨机 busbw ≥ 40 GB/s(400G IB),低于此值拓扑或散列有问题。
1.3 存储:最容易被低估的一维
- 训练读 checkpoint/数据集 + 周期写 checkpoint,检查点写入速度决定故障恢复时间。
- 参考指标:并行文件系统聚合读 ≥ 50 GB/s(千卡级),checkpoint 写入做到分钟级。
- 常见坑:数据加载慢导致 GPU 空转(IO 等待),看似算力不足实为存储不够。
1.4 功耗与散热:万卡级的新约束
- H100 单卡 700 W,整机柜功率密度可达 100+ kW/柜,风冷极限约 50~60 kW/柜——超出即必须液冷。
- 冷板式液冷是主流,占比通常 1:1(服务器:CDU);浸没式用于超高密度。
- 供电:按峰值(非均值)设计,预留扩容 20%;UPS 与柴发切换时间要覆盖 IB 交换机重启时长。
2. 四步验收流程
验收原则:先单点、再局部、后整集群;每步都有量化阈值,不达标不进入下一步。
2.1 第一步:单节点算力验收(HPL / 峰值测试)
bash
# 算力:HPL 测 FP64(HPC 视角);训练场景可加测 BF16 矩阵乘峰值
# 每节点 8 卡,取 3 次中位数,与规格对比 ≥ 95%
mpirun -np 8 ./xhpl # HPL:A100 节点约 60+ TFLOPS(FP64)- 达标线:实测 ≥ 规格值 × 95%;偏差 > 5% 检查驱动、频率、散热(降频)。
- 同时跑
nvidia-smi -q -d CLOCK确认无异常降频(温度/功耗墙)。
2.2 第二步:显存带宽验收(Stream)
bash
# Stream 带宽:测 HBM 实测带宽
./stream_c.exe # 参考:H100 节点实测 ≥ 3.0 TB/s(规格 3.35)- 多线程版本跑满所有通道;对比规格 ≥ 90% 为健康。
- Stream 与 HPL 双达标,才证明"算得动 + 喂得饱"。
2.3 第三步:互联验收(nccl-tests + 双端对测)
bash
# 节点内 NVLink
mpirun -np 8 ./build/all_reduce_perf -b 8 -e 8G -f 2 -g 1 # 8卡 busbw ≥ 350 GB/s(H100)
# 跨节点 IB:逐对验证 + 全集群验证
mpirun -np 256 ./build/all_reduce_perf -b 8 -e 8G -f 2 -g 1 # 256卡 busbw ≥ 40 GB/s- 逐对测(
--hostfile 2 节点)找坏线;全集群测找拓扑问题。 - 配合
ibstatus(速率协商)、ethtool -S(pause 帧)检查网络健康。
2.4 第四步:72 小时稳定性烤机
- 用真实训练负载(不是纯基准)跑 72h:混跑 2~3 个作业,覆盖训练 + 推理 + 数据加载。
- 监控项:GPU 温度/功耗、内存 ECC 错误(
nvidia-smi -q -d ECC)、IB 重传/丢包、文件系统延迟。 - 判据:72h 内无致命错误,性能衰减 < 5%,ECC 可纠正错误不持续增长。
3. 检查清单(可直接照做)
选型阶段
- [ ] 按目标负载倒推卡数与显存,预留 20~30% 显存余量
- [ ] 训练场景优先显存带宽与互联,不只看 TFLOPS
- [ ] 节点间 IB NDR 400G 起步,拓扑选型(胖树/高 radix)完成
- [ ] 并行文件系统聚合带宽满足 checkpoint 分钟级写入
- [ ] 机房功率密度评估完成,超风冷极限则液冷方案已定
- [ ] 供电按峰值设计 + 20% 扩容预留
- [ ] 生态验证:框架/NCCL/推理引擎对所选架构的适配版本确认
验收阶段
- [ ] HPL:单节点 FP64 实测 ≥ 规格 95%
- [ ] Stream:显存带宽实测 ≥ 规格 90%
- [ ] nccl-tests:8 卡 busbw ≥ 350 GB/s,256 卡跨机 ≥ 40 GB/s
- [ ] 逐对链路测试通过,无坏线/速率降级
- [ ] 72h 真实负载烤机通过,ECC/重传/丢包无持续增长
- [ ] 性能衰减 < 5%,无致命错误
4. 常见坑与处置
| 坑 | 现象 | 处置 |
|---|---|---|
| 供电不足 | 高峰时节点随机重启 | 按峰值+20% 设计,UPS 容量复核 |
| 风冷超限 | GPU 持续降频,HPL 掉到 80% | 改液冷或降密度,别硬扛 |
| IB 散列不均 | nccl-tests 方差大、个别链路满载 | 开 ECMP enhanced hash,重测 |
| 存储 IO 瓶颈 | GPU 利用率低、数据加载等待 | 扩并行文件系统客户端数/带宽 |
| 驱动不匹配 | 新卡旧驱动,性能腰斩 | 锁版本,先小集群验证再全量 |
| ECC 持续增长 | 显存颗粒老化 | 记录定位,趁保修期换卡 |
延伸阅读:分布式并行全景(选型后如何把卡用起来)、NCCL 网络调优实战(互联验收后的调优路径)。