For a long time, I have been calling MPI_Comm_create(comm, group,
newcomm) with different values for group on the different processes of
comm. In pseudo-code, I would create two sub-communicators from a world
with 4 ranks like this:
if world.rank < 2:
comm = world.create([0, 1])
comm = world.create([2, 3])
Now I read from the MPI_Comm_create description that this way of calling
MPI_Comm_create is erroneous:
"The call is erroneous if not all group arguments have the same value"
So, I guess I have just been lucky that it has worked for me? Or is it
OK to do what I do?