I have a question regarding message ordering and and
collective communication in MPI (and LAM-MPI
specifically). It is my understanding that messages
are delivered in order. Essentially I want to know
whether:
(a) A collective routine such as Allreduce "flushes"
other previously sent messages, and
(b) Whether a loop of MPI_Test operations will get all
messages that are waiting in LAM's buffer but have not
yet had a Irecv posted.
With some simple pseudo-code:
Process 1:
// zero or more MPI_Send
MPI_Allreduce
Process 2:
MPI_Allreduce
while( MPI_Test( request ) ) {
// handle received message
request = MPI_Irecv
}
Will all of the messages sent in Process 1 be received
by process 2? Any input is greatly appreciated.
Thanks,
Dave
__________________________________
Do you Yahoo!?
Check out the new Yahoo! Front Page.
www.yahoo.com
|