Newsgroups: comp.parallel.mpi
From: gropp@godzilla.mcs.anl.gov (William Gropp)
Subject: Re: MPI_Wait
Organization: MCS, Argonne National Laboratory
Date: Fri, 14 Jun 1996 22:15:6 GMT
Message-ID: <83479050617699@godzilla.mcs.anl.gov>

In article <31C1A371.5CC3@lanl.gov>,
Richard Barrett  <rbarrett@lanl.gov> wrote:
>The MPI standard (dated June 12, 1995), in the discussion of 
>Communication Completion (sec 3.7.3), states that "MPI_Wait is
>a non-local operation". What exactly does it mean? For MPI_Isend, 
>I would figure that the sending process would know when the local data 
>is safe to that process. Same for MPI_Irecv. Should the quoted sentence 
>read, "MPI_Wait _may_ not be a local operation depending upon the 
>specific implementation?
>

Yes, this is common in the MPI standard.  What this means here is that
an MPI_Wait MAY decide to complete only after some non-local operation,
such as exchanging messages with the partner.  An implementation is free
to perform that non-local operation (the send or receive) before the
Wait is called; what this statement is saying is that in a correct 
program, the programmer must assume that the operation may be non-local.
For example, in a send, the buffer may not be "free" until the destination
processor has decided to receive it (the so-called rendezvous protocol).

Bill

