[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