MPI_COMM_WORLD 子范围的 MPI 通信器
MPI communicator for sub-range of MPI_COMM_WORLD
创建包含连续等级 [rStart
, ..., 最后等级 MPI_COMM_WORLD
] of MPI_COMM_WORLD
的(子)通信器的简单方法是什么?
rStart
>= 0,即需要排除第 rStart
行。
最简单的代码就是
MPI_Comm_split(MPI_COMM_WORLD, rank < rStart, rank, &new_comm);
运行 在 MPI_COMM_WORLD
的 所有等级 上。它将创建两个通讯器 - 所有以 rStart
开头的等级都会得到你想要的一个,其他人可以 MPI_Comm_free
他们的通讯器。
如果您不能轻松地让排除的排名 运行 具有相同的代码,您可以使用 MPI_Comm_create_group
,但您还必须先创建组。
创建包含连续等级 [rStart
, ..., 最后等级 MPI_COMM_WORLD
] of MPI_COMM_WORLD
的(子)通信器的简单方法是什么?
rStart
>= 0,即需要排除第 rStart
行。
最简单的代码就是
MPI_Comm_split(MPI_COMM_WORLD, rank < rStart, rank, &new_comm);
运行 在 MPI_COMM_WORLD
的 所有等级 上。它将创建两个通讯器 - 所有以 rStart
开头的等级都会得到你想要的一个,其他人可以 MPI_Comm_free
他们的通讯器。
如果您不能轻松地让排除的排名 运行 具有相同的代码,您可以使用 MPI_Comm_create_group
,但您还必须先创建组。