Broadcast
看名字就很好理解了,其實(shí)就是把同一份數(shù)據(jù)分發(fā)廣播給所有人,示意圖如下: Scatter不同于Broadcast, scatter可以將不同數(shù)據(jù)分發(fā)給不同的進(jìn)程。 Gather這個(gè)也很好理解,就是把多個(gè)進(jìn)程的數(shù)據(jù)拼湊在一起。 Reducereduce就是將多個(gè)進(jìn)程中的數(shù)據(jù)按照指定的映射函數(shù)進(jìn)行運(yùn)算得到最后的結(jié)果存在一個(gè)進(jìn)程中,例如下面兩個(gè)圖中的歸約操作都是求和,將4個(gè)不同進(jìn)程的數(shù)據(jù)歸約求和后存在了第一個(gè)進(jìn)程中 All-reduceAll-reduce與reduce的區(qū)別就在于后者最后的結(jié)果是只保存在一個(gè)進(jìn)程中,而All-reduce需要每個(gè)進(jìn)程都有同樣的結(jié)果。所以All-reduce一般包含scatter操作,所以有時(shí)候也會(huì)看到reduce-scatter這種說法,其實(shí)reduce-scatter可以看成是all reduce的一種實(shí)現(xiàn)方式 參考
|
|