【问题标题】:How to select a master processor randomly in MPI programming?MPI编程中如何随机选择主处理器?
【发布时间】:2016-04-24 16:58:51
【问题描述】:

我需要从我的 Comm 中选择一个处理器来做一些工作(我不希望其他处理器做这个工作)。 由于我将 Comm 拆分到组中,因此我不能总是选择一个特定等级(例如 0)作为我的主人。我需要从我当前的通讯中选择它。有什么建议吗?

谢谢。

【问题讨论】:

    标签: c parallel-processing mpi message-passing


    【解决方案1】:

    进程的等级总是相对于通信者。拆分进程后,你可以在新的通信器中取进程 0 来执行你想要的工作。

    【讨论】:

      【解决方案2】:

      suszterpatt 接受的答案是正确的,这是您通常应该做的。不过,我想解决随机选择主进程的问题的标题。这样做

      1. 通信器中的每个等级都会生成一个随机数
      2. 使用MPI_AllreduceMPI_MAXLOC 分配随机数和排名数。
      3. 现在通讯器中的每个等级都可以使用该等级作为主人。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-24
        • 1970-01-01
        • 1970-01-01
        • 2017-06-20
        • 1970-01-01
        相关资源
        最近更新 更多