MoonEP Group Design
导言
先理解设计解决什么问题,再看分组公式。 从两张卡直接发送开始,观察参与者增多后接收方的竞争,尝试分批、错开目的地与接收方许可,最后回到 MoonEP 的 64P group。交互容量是教学假设,源码映射是固定版本事实;本文不把模拟结果作为性能测量。
导言
先理解设计解决什么问题,再看分组公式。 从两张卡直接发送开始,观察参与者增多后接收方的竞争,尝试分批、错开目的地与接收方许可,最后回到 MoonEP 的 64P group。交互容量是教学假设,源码映射是固定版本事实;本文不把模拟结果作为性能测量。
导言
我最初从外部技术资料了解到 Data-as-Flag 时,直觉上把它理解为三种省掉独立完成通知的方法:把 flag 塞进数据块、用数据校验值确认整批到达,或者先用特殊值填满接收区,再观察它是否被真实数据覆盖。
顺着这三个方向检查 NVIDIA 的公开资料后,答案很明确:NVIDIA 不但有相同思路,NCCL 的 LL/LL128 已经长期使用内嵌 flag;NCCL 2.31.2 的 LLA2A 又把它做成了面向低时延 All-to-All 的 payload + epoch 原子槽位。不过,公开实现更偏好显式 epoch,而不是让任意 payload 或 checksum 单独承担正确性。
导言
通信优化只有两条基本路线:少传,或让传输不再暴露在关键路径。1-bit Adam/LAMB 与 0/1 Adam 属于前者,Domino 属于后者。前者改变数值算法,后者改变调度;两者的正确性风险和验收方式完全不同。
导言
“显存不够”不是一个足够精确的诊断。可能是优化器状态常驻 GPU,可能是 ZeRO-3 跨节点通信暴露,也可能是单层矩阵本身无法放进一张卡。ZeRO-Offload、ZeRO++、MixZ++ 和 AutoTP 分别处理这四类问题,不能把它们当成同一开关的不同档位。