Am 12.03.20 um 19:12 schrieb Larson, Jeffrey M. via discuss:
On 3/12/20 1:04 PM, Thakur, Rajeev wrote: The standard specifies the order in which messages match, not complete. They can complete in any order.
Rajeev
From: "Larson, Jeffrey M. via discuss" <[email protected]><mailto:[email protected]> Reply-To: "[email protected]"<mailto:[email protected]> <[email protected]><mailto:[email protected]> Date: Thursday, March 12, 2020 at 12:46 PM To: "[email protected]"<mailto:[email protected]> <[email protected]><mailto:[email protected]> Cc: "Larson, Jeffrey M." <[email protected]><mailto:[email protected]>, "Navarro, John-Luke Nicolas" <[email protected]><mailto:[email protected]>, "Hudson, Stephen Tobias P" <[email protected]><mailto:[email protected]> Subject: [mpich-discuss] In-order messages
Hello MPICH friends,
Consider the simple two-rank MPI scenario:
* Rank 1 is doing calculations and giving chunks of data to rank 0 using nonblocking sends and tag=0. * When rank 1 is finished, it will send it's last data (or no data) with tag=1. * Rank 0 is using probes to see when data is ready to be received. It receives with any tag, knowing when to stop receiving, or give new data when a tag=0 is received. 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
Hi Rajeev,
What is the difference between matching and completing?
Does this mean that the quote from the standard that I gave means the messages between two fixed ranks could overtake each other? That is, they "match" but don't "complete" in the same order?
Hi Jeff, can you probably fix your mail client to distinguish quotes from new text? Matching is the process of finding send-receive pairs. Once a message is matched, it cannot be received by a different function. This is like answering a call, without having said anything yet. Completion is when the transfer is over and you end the call. Example 3.5 in the standard should show your use case. - Joachim
_______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss
-- Dipl.-Inf. Joachim Protze IT Center Group: High Performance Computing Division: Computational Science and Engineering RWTH Aachen University Seffenter Weg 23 D 52074 Aachen (Germany) Tel: +49 241 80- 24765 Fax: +49 241 80-624765 [email protected] www.itc.rwth-aachen.de