Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] MPI_COMM_split hanging
From: Gary Gorbet (gegorbet_at_[hidden])
Date: 2011-12-12 11:56:11


>On Dec 12, 2011, at 9:45 AM, Josh Hursey wrote:
>
>> For MPI_Comm_split, all processes in the input communicator (oldcomm
>> or MPI_COMM_WORLD in your case) must call the operation since it is
>> collective over the input communicator. In your program rank 0 is not
>> calling the operation, so MPI_Comm_split is waiting for it to
>> participate.
>>
>> If you want rank 0 to be excluded from the any of the communicators,
>> you can give it a special color that is distinct from all other ranks.
>> Upon return from MPI_Comm_split, rank 0 will be given a new
>> communicator containing just one processes, itself. If you do not
>> intend to use that communicator you can free it immediately
>> afterwards.
>
>You can also specify MPI_UNDEFINED as your color, in which case the
>output communicator in that process will be MPI_COMM_NULL. See
>MPI-2.2 p205.
>
Thank you, Josh and Jeff. That did it! I called MPI_COMM_split from
my supervisor with color of MPI_UNDEFINED and key of 0. Then all
_split() calls returned and I was able to do the work in my test
program.

All the best,
Gary