Hi,
I believe Jeff Squyres has already answered your question on the Open MPI
mailing list, or at least hinted on the possible problem. MPI messages are
received in the order they were sent but only within the specific (tag,
communicator) tuple. This basically means:
- within the same commun
At the receiver, MPI ordering is only within a specific (source_rank, tag,
communicator) tuple.
So if you send:
M1 (source_rank=A, tag=T1, comm=foo)
M2 (source_rank=A, tag=T2, comm=foo)
Then those have 2 different tuples, and can be probed/received in a different
order in which they were sent.