集合通信概览
(1)通信的算法 是根据通讯的链路组成的
(2)因为通信链路 跟硬件强相关,所以每个CCL的库都不一样
芯片与芯片、不同U之间是怎么通信的
多卡训练:多维并行(xxx并行在上一期已经讲述过…)
计算与通信解耦
计算与通信解耦:分布式加速库
☆☆☆ 从加速库 -> NPU 的执行过程
(1)硬件的排布 跟 组网拓扑、XCCL 非常的强相关;XCCL 跟 网络拓扑 强相关
(2)分布式加速库:MindSpeed
(3)在计算的时候,用户调用pytorch等AI框架,计算在单机里面就用到了AI的框架了,
(4)在通信的时候,就会把一些张量放到一些桶里面,当桶满的时候/满足某些条件的时候,MindSpeed加速库 就会控制张量 什么时候去调用集合通信库的接口/源语 P2P all2all 相关的内容
(5)
(1)XCCL跟链路层、物理层强相关,所以各个公司都有自己的XCCL;
(2)具体XCCL实现了什么功能呢?---- 参照《XCCL、NCCL、HCCL通信库》
(2)all2all 等相关的接口还是保持跟NCCL一致,方便用户调用
通信算法
不同AI时期对通讯的诉求
大模型对AI集群训练的诉求:大带宽、强同步