I was referring to the case of nonblocking receives. Blocking receives will sequentialize the receives.
From: "Larson, Jeffrey M." <jmlarson@anl.gov>
Date: Monday, March 23, 2020 at 9:07 AM
To: "Thakur, Rajeev" <thakur@anl.gov>, "discuss@mpich.org" <discuss@mpich.org>
Cc: "Zhou, Hui" <zhouh@anl.gov>, "Hudson, Stephen Tobias P" <shudson@anl.gov>, "Navarro, John-Luke Nicolas" <jnavarro@anl.gov>
Subject: Re: [mpich-discuss] In-order messages
If rank 0 is doing the probing, and rank 0 is doing a blocking receive immediately after a probe says rank 1 is waiting to send, then the fact that the probes return in
order, means the data will complete in order, right?
From: Thakur, Rajeev <thakur@anl.gov>
Sent: Monday, March 16, 2020 6:38 PM
To: discuss@mpich.org <discuss@mpich.org>
Cc: Zhou, Hui <zhouh@anl.gov>; Larson, Jeffrey M. <jmlarson@anl.gov>; Hudson, Stephen Tobias P <shudson@anl.gov>; Navarro, John-Luke Nicolas <jnavarro@anl.gov>
Subject: Re: [mpich-discuss] In-order messages
Yes, the probes should return in order. The actual data transfer may complete out of order.
Rajeev
From:
"Zhou, Hui via discuss" <discuss@mpich.org>
Reply-To: "discuss@mpich.org" <discuss@mpich.org>
Date: Monday, March 16, 2020 at 6:03 PM
To: "discuss@mpich.org" <discuss@mpich.org>
Cc: "Zhou, Hui" <zhouh@anl.gov>, "Larson, Jeffrey M." <jmlarson@anl.gov>, "Hudson, Stephen Tobias P" <shudson@anl.gov>, "Navarro, John-Luke Nicolas" <jnavarro@anl.gov>
Subject: Re: [mpich-discuss] In-order messages
Sorry, a typo. I meant “no more tag=0 messages is coming”.
--
Hui Zhou
From:
"Zhou, Hui via discuss" <discuss@mpich.org>
Reply-To: "discuss@mpich.org" <discuss@mpich.org>
Date: Monday, March 16, 2020 at 6:01 PM
To: "discuss@mpich.org" <discuss@mpich.org>
Cc: "Zhou, Hui" <zhouh@anl.gov>, "Larson, Jeffrey M." <jmlarson@anl.gov>, "Hudson, Stephen Tobias P" <shudson@anl.gov>, "Navarro, John-Luke Nicolas" <jnavarro@anl.gov>
Subject: Re: [mpich-discuss] In-order messages
Experts out there, feel free to point out to me if my answer is wrong --
Given the scenario described, my understanding leads to the answer to be affirmative. That is, if you got `tag=1` from the anytag probe, then you can be assured that no more `tag=1` messages that haven’t been recv’ed is coming.
--
Hui Zhou
From:
"Larson, Jeffrey M. via discuss" <discuss@mpich.org>
Reply-To: "discuss@mpich.org" <discuss@mpich.org>
Date: Thursday, March 12, 2020 at 12:46 PM
To: "discuss@mpich.org" <discuss@mpich.org>
Cc: "Larson, Jeffrey M." <jmlarson@anl.gov>, "Navarro, John-Luke Nicolas" <jnavarro@anl.gov>, "Hudson, Stephen Tobias P" <shudson@anl.gov>
Subject: [mpich-discuss] In-order messages
Hello MPICH friends,
Consider the simple two-rank MPI scenario:
Is it possible that rank 0 receives a tag=1 message when there are outstanding tag=0 messages?
Looking at section 3.5 of the MPI standard lets me know that
"Messages are non-overtaking: If a sender sends two messages in succession to the same destination, and both match the same receive, then this operation cannot receive
the second message if the first one is still pending."
But I'm not sure if this applies to the above case. Is anytag "the same receive"?
If rank 1 puts data in its buffer, doesn't the network have to be used to communicate that to the buffer of rank 0?
While rank 1 is putting data into its buffer in order, is it possible that a tiny tag=1 message is registered in the rank 0 buffer before a massive tag=0 message?
Thank you for your help,
Jeff