[mpich-discuss] Non-blocking collectives

Rajeev Thakur thakur at mcs.anl.gov
Sat Jun 29 14:25:03 CDT 2013


I think the Wait is allowed to wait until others call Wait. See the Advice to Users on 197:27-29:

"Users should be aware that implementations are allowed, but not required (with exception of MPI_IBARRIER), to synchronize processes during the completion of a nonblocking collective operation."


On Jun 29, 2013, at 1:25 PM, Jed Brown wrote:

> rreddypsc at gmail.com writes:
> 
>> I apologize for creating a new thread, I have accidentally deleted the 
>> original message.
>> 
>> Not to split hairs, can you please clarify the following:
>> 
>> After doing a non-blocking collective:
>> 
>> The MPI_Wait would be satisfied as soon as the other ranks in the 
>> communicator have called the non-blocking collective (and may not yet have 
>> called MPI_Wait), right?
> 
> Yes.
> 
>> Or do they wait until all of them have called MPI_Wait?
> 
> No, that would make the MPI_Wait synchronizing, mostly defeating any
> potential benefit of non-blocking collectives.  Note that the
> non-blocking request can complete in other ways, e.g., via MPI_Test.
> 
>> On the contrary, if one of the ranks calls MPI_Wait (without calling the 
>> non-blocking collective, which is an incorrect program), will the MPI_Wait 
>> be satisfied?
> 
> This doesn't even make sense.  Where would you be getting an MPI_Request
> on which to call MPI_Wait?
> _______________________________________________
> discuss mailing list     discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss




More information about the discuss mailing list