[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 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