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

Reply via email to