[mpi3-coll] Simplify "local completion" to just "completion"

Adam Moody moody20 at llnl.gov
Mon Feb 2 17:06:50 CST 2009


Ok, just a bit more and then I'll back down ;-)

 From what I've read, I think things are different in point-to-point 
because there are three different send modes (standard, buffered, or 
synchronous) that have different guarantees on whether completion is 
local or not (up to the MPI implementation, guaranteed local, guaranteed 
non-local, respectively).  So far with collectives, we only have one 
completion mode (up to the MPI implementation). In fact, this very 
difference is why I find the phrase "local completion" to be confusing 
with collectives.  As a reader, it sounds like there may be a mechanism 
for non-local completion (like MPI_Isbcast or something), but there is 
not (at least not yet).  We have only one completion mode.  I understand 
the intent here is to help the reader by stressing that when a 
collective completes at a process, there are no guarantess about the 
completion status of other processes.  However, I think this is quite 
clear with our current text:

p 2, lines 20-23
"The completion of a collective operation indicates that the caller is 
free to access locations in the communication buffer.  It does not 
indicate that other processes in the group have completed or even 
started the operation (unless otherwise implied by the description of 
the operation)."

and restated on p 50, lines 4-9
"Similarly to the blocking case, collective operations are considered to 
be complete when the local part of the operation is finished, i.e., the 
semantics of the operation are guaranteed and all buffers can be safely 
accessed and modified.  Completion does not indicate that other 
processes have completed or even started the operation (unless otherwise 
implied by the description of the operation)."

Personally, I just find the extra "local" keywords to be distracting.
-Adam


Bronis R. de Supinski wrote:

>Adam:
>
>Local completion is the term used in the point-to-point
>discussions. In particular, even MPI_Send has "local
>completion semantics", which means that the other side
>of the operation may not have completed. I think we should
>retain it since otherwise one can take it that the
>entire operation must complete (i.e., in all tasks).
>
>Bronis
>
>
>On Mon, 2 Feb 2009, Adam Moody wrote:
>
>  
>
>>I think we could reduce "local completion" to just "completion"
>>throughout the text.  I don't think the adjective "local" is necessary
>>and in some ways I find it confusing.  We define precisely what
>>"completion" means in a collective, and we also explicitly note that
>>completion at a process does not indicate the status of other
>>processes.  Whenever we say "local completion", we really mean
>>"completion" by our definition, so "local" is not necessary here.  And
>>by saying "local" completion, it sounds as a reader that there may be
>>such a thing as "non-local" completion, but we don't define it.  There
>>is only one definition for collective completion.
>>-Adam
>>
>>p 2, line 17 in "Collective operations can (but are not required to)
>>complete locally as soon as the caller's participation in the collective
>>communication is finished."
>>    "complete locally"  -->  "complete"
>>
>>p 2, line 20 in "The local completion of a collective operation
>>indicates that the caller is free to access locations in the
>>communication buffer."
>>    "The local completion" --> "The completion"
>>
>>p 49, line 48 & p 50, line 1 in "Once initiated, all associated send
>>buffers should not be modified and all associated receive buffers should
>>not be accessed until the collective operation completes locally."
>>    "until the collective operation completes locally." --> "until the
>>collective operation completes."
>>
>>p 51, line 32 in "On intracommunicators, the operation completes locally
>>after every process in the communicator called MPI_IBARRIER."
>>    "the operation completes locally" --> "the operation completes"
>>and (to preserve verb tense)
>>    "after every process in the communicator called"  -->  "after every
>>process in the communicator calls"
>>_______________________________________________
>>mpi3-coll mailing list
>>mpi3-coll at lists.mpi-forum.org
>>http://  lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-coll
>>
>>
>>    
>>
>_______________________________________________
>mpi3-coll mailing list
>mpi3-coll at lists.mpi-forum.org
>http:// lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-coll
>
>
>  
>



More information about the mpiwg-coll mailing list