NCCL通信原语
NCCL通信原语
参考:
1. Broadcast
其实就是把自己卡上面的东西让所有卡都知道
2. Scatter
其实就是把自己的东西分成多块,按照顺序向其他GPU发送data block
3. Reduce
就是把所有卡的部分在自己卡上面作一个sum。注意这里只有自己的卡作sum
4. Gather
其实对应于Scatter,是把分布在其他卡上的data block在自己卡上面拼起来。注意,这里也是只有自己这一张卡
5. AllReduce
每张卡都对所有卡作一个sum=reduce scatter+all gather, 通信成本也等于这俩加起来
官方说法:将每个节点的数据规约并同步到所有节点
6. AllGather
每张卡都把分布在其他卡上的data block拼起来。每一张卡的数据这样都相同
官方说法:将每个节点的部分数据收集到所有节点
7. Reduce Scatter
先Reduce,再Scatter
将每个节点的数据规约并分散到所有节点
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Roger-Lv's space!
评论





