On 20-01-2012 15:26, Josh Hursey wrote:
That behavior is permitted by the MPI 2.2 standard. It seems that our
documentation is incorrect in this regard. I'll file a bug to fix it.
Just to clarify, in the MPI 2.2 standard in Section 6.4.2
(Communicator Constructors) under MPI_Comm_create it states:
"Each process must call with a group argument that is a subgroup of
the group associated with comm; this could be MPI_GROUP_EMPTY. The
processes may specify different values for the group argument. If a
process calls with a non-empty group then all processes in that group
must call the function with the same group as argument, that is the
same processes in the same order. Otherwise the call is erroneous."
Thanks for reporting the man page bug.
Thanks for the quick reply.
Is it also allowed to call MPI_Comm_create only on those processes that
are in the sub-group? This seems to work also. Or must one always call
MPI_Comm_create on all processes in comm - as the description says.
Jens Jørgen
-- Josh
2012/1/20 Jens Jørgen Mortensen <je...@fysik.dtu.dk
<mailto:je...@fysik.dtu.dk>>
Hi!
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])
else:
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"
http://www.open-mpi.org/doc/v1.4/man3/MPI_Comm_create.3.php#toc7
So, I guess I have just been lucky that it has worked for me? Or
is it OK to do what I do?
Jens Jørgen
_______________________________________________
users mailing list
us...@open-mpi.org <mailto:us...@open-mpi.org>
http://www.open-mpi.org/mailman/listinfo.cgi/users
--
Joshua Hursey
Postdoctoral Research Associate
Oak Ridge National Laboratory
http://users.nccs.gov/~jjhursey <http://users.nccs.gov/%7Ejjhursey>