Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] A question on MPI_Probe
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2012-09-25 10:40:37

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.

However, if your tags were the same for M1 and M2, then they would have to be probed/received in order.

On Sep 22, 2012, at 12:32 AM, devendra rai wrote:

> Hello,
> I believe my understanding of MPI_Probe is not correct. Here's what I have as a setup:
> Two MPI processes, A and B. Process A sends a large message, M1 using tag T1, and a small message, M2 using tag T2. The recepient of both messages is B.
> The order of sending the messages is M1 and then M2.
> The process B however executes MPI_Probe to test if the message with tag T2 is available. B will accept M1 after it has received M2 first.
> I am under the impression that using information gained from MPI_Probe, I can choose not to receive message M1, and instead look for M2.
> However, I see that M2 is never received by B (although A confirms that both M1 and M2 have been sent).
> I am little confused. Can someone explain why B cannot receive M2? At least, does MPI allow receiving messages in the order that I have just described?
> Thanks a lot.
> Devendra Rai.
> _______________________________________________
> users mailing list
> users_at_[hidden]

Jeff Squyres
For corporate legal information go to: