集合通信算法总结
一. all2all 通信原语
1. H卡N-1步算法,通过算法消除多打1。
2. N卡NCCL PXN算法
核心是借轨+源聚合。
3. DeepEP 算法
底层使用NVSHMEM 直接接口, 使用IBGDA,可以将控制面bypass cpu,原始版本支持IB,修改版本可以支持RoCE。
借轨的思路和N卡PXN类似, 只不过是方向相反,RoCE发到目的同号卡, 目的同号卡再转发到机内的其它节点。https://zhuanlan.zhihu.com/p/1890067712996270654
二.allgather、reducescatter、allreduce通信原语
(1)通信域大部分是单独机内或者单独机间(同号卡), 比如TP、SP、CP机内,部分DP只有机间。
(2)通信域会有机内+机间情况。结论:机间Ring+机内mesh方案性能最优, 可以正好利用nvlink与Roce带宽比是8:1的关系。
三. pp通信原语
有1F1B,zero-bubble流水线overlap方案,目前zero-bubble用得最多。
1F1B:
zero-bubble, F、B、W三阶段切分。