On Jan 23, 2009, at 11:24 , Eugene Loh wrote:
> Jeff Squyres wrote:
>> As you have notes, MPI_Barrier is the *only* collective operation
>> that MPI guarantees to have any synchronization properties (and
>> it's a fairly weak guarantee at that; no process will exit the
>> barrier until every process has entered the barrier -- but there's
>> no guarantee that all processes leave the barrier at the same time).
> Actually, many collectives have that property due to data-causality
> conditions. E.g., MPI_Allreduce cannot exit from any process until
> every process has finished.
MPI_Allreduce is a bad example. Depending on the algorithm, this
collective can finish on some nodes, way before the others (allreduce
might be a reduce followed by a broadcast). However, there is one
thing that will _ALWAYS_ be true, all processes have reached the
MPI_Allreduce call because they had provided their data.
> As Jeff mentions, however, exit times can be "ragged" (and
> unfortunately often are).
> users mailing list