常见的集合通信有如下几种:
Broadcast:从一个节点向其他所有节点发送相同的数据。
Scatter:一个节点将不同的数据块分发给组内的其他节点,每个节点收取唯一的一块数据。
Gather:与Scatter相反,组内的其它节点将数据发送给指定的某一个节点。
Reduce:一个节点接受组内其他节点发出的数据,并生成汇总结果。
All-Gather:每个节点都发送自身的数据,也接受组内其他节点发出的数据。
All-Reduce:每个节点都发送自身的数据,也接受组内其他节点发出的数据,并生成汇总结果。
All-to-All:每个节点将不同的数据块分发给组内的其他节点,同时也接收其他节点分发的数据块。