ai-infra-interview-305

第 87 题:如何计算all-reduce的通信量?公式是什么?

题目

如何计算all-reduce的通信量?公式是什么?


完整讲解

一、All-Reduce 的语义

All-reduce:(P) 个节点各有一个 tensor,归约(如 sum)后每个节点得到相同的全局结果。等价于 reduce-scatter(每节点得结果的一个分片)+ all-gather(拼成完整结果)。

二、通信量(以 Ring 为例)

三、时间估算

时间 (\approx) 通信量 / 带宽。若带宽为 (B)(字节/秒),单卡发送 (2N \times 4) 字节,则时间约 (8N/B)(fp32)。实际还有 latency、算法与拓扑影响,可用 (T \approx \alpha \cdot \log P + \beta \cdot 2N) 粗估((\alpha) 延迟项、(\beta) 与带宽相关)。


面试要点


记忆要点

  1. 每卡通信量 ≈ 2N 元素(ring);字节 = 2N×精度。
  2. 公式:(2(P-1)N/P) 每卡;P 大时趋近 2N。
  3. 时间 = 量/带宽 + 延迟项。
返回模块 返回总览