【发布时间】:2021-02-16 13:18:40
【问题描述】:
我想在集群的每台机器上轻松地独立执行集体通信。假设我有 4 台机器,每台机器有 8 个内核,我的 MPI 程序将运行 32 个 MPI 任务。我想要的是,对于给定的功能:
- 在每台主机上,只有一个任务执行计算,其他任务在此计算期间不执行任何操作。在我的示例中,4 个 MPI 任务将执行计算,另外 28 个正在等待。
- 计算完成后,每个 MPI 任务将只与本地任务(在同一主机上运行的任务)执行集体通信。
从概念上讲,我知道我必须为每个主机创建一个通信器。我四处搜寻,并没有发现任何明确的做法。我对 MPI 组和沟通者不太满意。这是我的两个问题:
-
MPI_Get_processor_name对于这种行为是否足够独特? - 更一般地说,您是否有一段代码可以做到这一点?
【问题讨论】:
标签: mpi communicator