[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