【问题标题】:MPI_Allreduce SourceMPI_Allreduce 源
【发布时间】:2012-03-10 05:39:15
【问题描述】:

我正在编写涉及 for 循环的代码,该循环在每个索引处进行计算。

这些计算中的最小值存储在一个变量中,我在程序末尾使用 MPI_Allreduce 来确定所有进程的全局最小值。

但是,我需要一种方法来知道哪个进程具有最小值,即 MPI_Allreduce 可以告诉我哪个进程发送结果吗?具有最小值的过程?我需要从该过程中获取一些额外的数据。

提前感谢您的帮助!

【问题讨论】:

标签: c mpi


【解决方案1】:

您可以在reduce 操作中使用MPI_MINLOC 运算符来接收具有最小值的进程的排名(更具体地说,是具有最小值的排名最低的进程)。

见http://www.netlib.org/utk/papers/mpi-book/node114.html#SECTION005103000000000000000

【讨论】:

    猜你喜欢
    • 2011-07-26
    • 2012-08-28
    • 2015-07-24
    • 1970-01-01
    • 1970-01-01
    • 2019-12-23
    • 2016-01-11
    • 2023-03-21
    • 2023-02-01
    相关资源
    最近更新 更多