[MPICH] IMB Exchange

William Gropp gropp at mcs.anl.gov
Mon Nov 19 11:35:25 CST 2007


There won't be anything that specific in the standard.  What the  
standard does discuss is whether operations will complete (that's the  
sense in which progress is used in the standard).  Of course, to  
cause operations to complete, it is necessary to make progress on  
them :)

The way that this usually works is to consider a sequence of  
communications such that if a wait only makes progress on one  
request, it becomes impossible for some other operation to complete,  
and that holds up, for example, the sender that needs to complete the  
wait.  This depends on the specifics of the implementation (something  
that MPI correctly wants to avoid), and I can imagine an  
implementation where the wait is able to complete only the request in  
the Wait because it has ensured that once matched, that wait will  
complete.  On the other hand, implementations, particularly polling  
ones (or ones that optimize latency by polling when possible) will  
usually want to complete any and all events that are ready.

Bill

On Nov 19, 2007, at 3:03 AM, Sylvain Jeaugey wrote:

> Hi Rajeev,
>
> As you mention, MPI implementations make progress on all requests,  
> but is the Exchange algorithm really MPI compliant ? I mean, since  
> all applications do this kind of things, MPI implementations have  
> no choice but to support this behaviour, but is there really  
> something in the standard about making progress on all requests  
> when we call MPI_Wait on only one request ?
>
> Sylvain

William Gropp
Paul and Cynthia Saylor Professor of Computer Science
University of Illinois Urbana-Champaign


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20071119/6201fadd/attachment.htm>


More information about the mpich-discuss mailing list