首页 > 其他 > 详细

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

时间:2019-09-10 16:28:03      阅读:118      评论:0      收藏:0      [点我收藏+]

Broadcast

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

技术分享图片

Scatter

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

技术分享图片

Gather

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

技术分享图片

Reduce

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

技术分享图片

技术分享图片

All-reduce

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

技术分享图片

参考



MARSGGBO?原创





2019-9-10



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

原文:https://www.cnblogs.com/marsggbo/p/11497780.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!