Skip to content

04 通信等待与 Overlap

页面目标

本节对应 Task4:通信等待、同步与重叠。你将把多卡变慢拆成 collective、同步、拓扑和 pipeline bubble 等可观察的等待来源。

本节的输出是通信归因:等待发生在哪个集体通信或阶段、是否存在可重叠空间,以及问题属于切分策略、拓扑还是 workload。完成后,把归因结果带入 Task5 的同口径 benchmark。

问题起点

多卡变慢时,常见误判是:

  • 以为算子本身慢
  • 以为 GPU 利用率低就是单卡问题

但真实情况往往是:

  • 同步等待高
  • overlap 没生效
  • communication hotspot 把收益吃掉了

关键观察点

  • communication wait
  • all-reduce / all-gather hotspots
  • pipeline bubble
  • overlap 是否存在

通信归因的最小条件

先建立单卡或单进程 baseline,再观察 collective 的持续时间、调用频率、等待空洞和计算重叠。all-reduceall-gatherall-to-all 的时间变长,只能说明通信路径发生变化;要判断它是否是扩展效率下降的主因,还要对齐计算时间、消息大小、卡间拓扑和同步点。

因此,“GPU 利用率低”不是充分证据,“通信占比高”也不自动等于通信可以优化。需要用同一 workload 对比单卡、多卡或不同切分方案。

可视化入口

正文暂不嵌入未审核图示;相关图册与占位说明见 视觉资产页

对应 Part

本节要点

多卡 profiling 的关键不是“看更多 trace”,而是解释为什么通信和等待把理想收益吃掉了。

进入下一页

把通信归因和单卡基线一起带入 05 Benchmark 设计与回归验证,确认多卡策略是否真的改善了端到端结果。

Released under the MIT License.