[mpi3-coll] Non-blocking Collectives Proposal Draft
Christian Siebert
siebert at it.neclab.eu
Fri Oct 17 08:40:08 CDT 2008
Supalov, Alexander wrote:
> <snip>
> Another possible complication: let's swap the Send and Recv, and make
> Send synchronous (or rendezvous):
>
> Irecv(1,req_r) Irecv(0,req_r)
> Issend(1,req_s) Issend(0,req_s)
> Waitall(req_s, req_r) Ssend(0)
> Recv(1) Waitall(req_s,req_r)
>
> Here I have rather strong doubts that this will work. Do you?
Why do you think that it won't work? It should work!
The Waitall at the left side progresses both {Irecv and Issend}.
The Ssend at the right side progresses {Irecv, Issend and SSend}.
Therefore the first two operations on both sides can be matched,
processed and completed within the third function. The rest (i.e. recv
left & ssend; waitall right) is easy: the recv matches the ssend and the
right waitall will just return the status of both (already completed)
nonblocking operations.
Christian
--
Christian Siebert, Dipl.-Inf. Research Associate
NEC Laboratories Europe, NEC Europe Ltd.
Rathausallee 10, D-53757 Sankt Augustin, Germany
Phone: +49 (0) 2241 - 92 52 44 Fax: +49 (0) 2241 - 92 52 99
(Registered Office: 1 Victoria Road, London W3 6BL, 2832014)
More information about the mpiwg-coll
mailing list