gpt4 book ai didi

mpi - MPI 中 All-to-All Reduce 和 All-Reduce 的区别

转载 作者:行者123 更新时间:2023-12-04 20:08:03 33 4
gpt4 key购买 nike

试图找出开放 MPI 中 All-to-All Reduce 和 All-Reduce 之间的区别。根据我的理解,All-to-One Reduction 从所有进程中获取一 block m (整数、数组等),并将所有部分与运算符(最小值、最大值、总和等)组合在一起。 .) 并将其存储在选定的进程中。由此我假设 All-to-All Reduction 是相同的,但产品存储在所有流程中,而不仅仅是一个。来自 this文档看起来 All-Reduce 基本上和 All-to-All Reduction 一样,这是对的还是我弄错了?

最佳答案

all-reduce (MPI_Allreduce) 是 reductionbroadcast (MPI_ReduceMPI_Bcast)。他们可能将其称为 MPI_Reduce_Bcast。请务必注意,MPI 减少不会进行任何全局减少。因此,如果 5 个进程各有 10 个数字,则在 MPI_Reduce 之后,一个进程有 10 个数字。在 MPI_Allreduce 之后,所有 5 个进程都具有相同的 10 个数字。

相比之下,all-to-all reduction 执行reductionscatter,因此它被称为MPI_Reduce_scatter[_block ]。因此,如果您在 5 个进程中各有 10 个数字,在 MPI_Reduce_scatter_block 之后,5 个进程各有 2 个数字。请注意,MPI 本身并不使用术语all-to-all reduction,这可能是由于误导性歧义。

关于mpi - MPI 中 All-to-All Reduce 和 All-Reduce 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44483914/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com