Broadcast,Scatter,Gather,Reduce,All-reduce分别是什么?

Broadcast

看名字就很好理解了,其实就是把同一份数据分发广播给所有人,示意图如下:

qg6ezsg9va.png

Scatter

不同于Broadcast, scatter可以将不同数据分发给不同的进程。

image.png

Gather

这个也很好理解,就是把多个进程的数据拼凑在一起。

image.png

Reduce

reduce就是将多个进程中的数据按照指定的映射函数进行运算得到最后的结果存在一个进程中,例如下面两个图中的归约操作都是求和,将4个不同进程的数据归约求和后存在了第一个进程中

image.png

image.png

All-reduce

All-reduce与reduce的区别就在于后者最后的结果是只保存在一个进程中,而All-reduce需要每个进程都有同样的结果。所以All-reduce一般包含scatter操作,所以有时候也会看到reduce-scatter这种说法,其实reduce-scatter可以看成是all reduce的一种实现方式

image.png

参考



MARSGGBO原创





2019-9-10



转载于:https://www.cnblogs.com/marsggbo/p/11497780.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值