1

什么是创建包含连续等级 [ rStart, ..., 的最后等级MPI_COMM_WORLD] 的(子)通信器的简单方法MPI_COMM_WORLD

rStartis >= 0,即rStart需要排除第一行。

4

1 回答 1

2

最简单的代码是

MPI_Comm_split(MPI_COMM_WORLD, rank < rStart, rank, &new_comm);

运行在. _ MPI_COMM_WORLD它将创建两个沟通者 - 所有等级开始rStart都会得到你想要的一个,其他人可以只是MPI_Comm_free他们的沟通者。

如果您不能轻松地让排除的排名运行相同的代码,您可以使用MPI_Comm_create_group,但您还必须先创建组。

于 2019-03-06T16:11:33.353 回答