
NCCL 测试不能只看一行最大带宽。结果受集合通信类型、消息大小、GPU 数量、进程布局、拓扑、网络路径和软件版本影响。验收的核心是建立可重复的单节点基线,再观察增加节点后的扩展变化和稳定性。
先固定测试环境
记录服务器、GPU、网卡、交换机和介质,保存 BIOS、驱动、CUDA、NCCL、网卡固件和网络系统版本。还要记录容器镜像、环境变量、拓扑文件、CPU 与 NUMA 绑定。缺少这些信息,即使结果很好也难以复现。
理解算法带宽和总线带宽
算法带宽描述应用数据完成集合操作的有效速率;总线带宽根据集合通信方式对数据移动量进行归一化,便于在一定条件下比较。两者都需要结合具体 collective、GPU 数量和消息大小解释,不能直接等同于单条物理链路速率。
按规模递增定位边界
- 单 GPU 与单机多 GPU,确认服务器内部路径。
- 双节点,确认网络和跨节点基本配置。
- 逐步增加节点,观察扩展效率和波动。
- 覆盖小、中、大消息,避免只测最有利区间。
- 延长运行时间并保留失败、重试和错误日志。
验收应同时看性能和稳定性
| 记录项 | 目的 |
|---|---|
| 平均值与波动 | 识别偶发拥塞和不稳定节点 |
| 不同消息大小 | 覆盖时延敏感与带宽敏感阶段 |
| 节点递增结果 | 判断扩展拐点和局部瓶颈 |
| 链路与错误计数 | 把业务表现关联到底层证据 |
正式验收前应约定测试命令、规模、通过阈值和允许波动,并把原始输出纳入交付资料。业务模型与 NCCL 合成测试关注点不同,最终仍需用代表性训练或推理任务做一次端到端复验。
WeChat
Profile