On Dec 17, 2015, at 1:39 PM, Eric Chamberland 
<eric.chamberl...@giref.ulaval.ca> wrote:
> 
> Just to be clear: we *always* call MPI_Wait.  Now the question was about 
> *when* to do it.

Ok.  Remember that the various flavors of MPI_Test are acceptable, too.  And 
it's ok to call MPI_Test*/MPI_Wait* with MPI_REQUEST_NULL (i.e., if an earlier 
Test/Wait completed a request and set it to MPI_REQUEST_NULL).

> We did 2 different things:
> 
> #1- ASAP after the MPI_Isend
> #2- As late as possible, in a class destructor for example, which can occur a 
> while after other MPI_Irecv and MPI_Isend pairs have been issued.
> 
> Is it true to tell that if there were message progression, the receiving side 
> can complete the MPI_Wait linked to the MPI_Irecv call, event if the sending 
> side have *not yet* called the MPI_Wait linked to the MPI_send ?

That is certainly possible, yes.  It depends on a bunch of factors, such as the 
underlying networking hardware, the length of the message, etc.

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/

Reply via email to