MPI通信世界子范围的MPI通信设备

MPI通信世界子范围的MPI通信设备,mpi,communicator,Mpi,Communicator,创建包含连续列组[rStart,…,以及MPI\u COMM\u WORLD]的MPI\u COMM\u WORLD]的(子)通信器的简单方法是什么 rStart为>=0,即需要排除第一个rStart列组。最简单的代码是 MPI_Comm_split(MPI_COMM_WORLD, rank < rStart, rank, &new_comm); MPI通信拆分(MPI通信世界、等级

创建包含连续列组[
rStart
,…,以及
MPI\u COMM\u WORLD
]的
MPI\u COMM\u WORLD
]的(子)通信器的简单方法是什么


rStart
为>=0,即需要排除第一个
rStart
列组。

最简单的代码是

MPI_Comm_split(MPI_COMM_WORLD, rank < rStart, rank, &new_comm);
MPI通信拆分(MPI通信世界、等级
在MPI COMM\u WORLD的所有级别上运行。它将创建两个通讯器-所有以
rStart
开头的列组都将获得您想要的通讯器,其他列组只需
MPI\u Comm\u free
他们的通讯器即可


如果您无法轻松让排除的列组运行相同的代码,您可以使用
MPI\u Comm\u create\u group
,但您也必须首先创建组。

在阅读了
MPI\u Comm\u split
之后,我意识到
(列组
对于第二个参数更好:它将在第一列上生成
MPI\u COMM\u NULL