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.
george.
As Jeff mentions, however, exit times can be "ragged" (and
unfortunately often are).
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users