Matthieu, My answer might be misleading because it was focused mostly on what the standard says. From an implementation perspective, large messages often go through a rendez-vous protocol and matching occurs before the actual data-movement takes place. Since matching large messages is decoupled from the corresponding data-movement, their actual transfer can be overlapped with the small Send operations in your example. --Halim www.mcs.anl.gov/~aamer On 10/20/15 11:02 AM, Dorier, Matthieu wrote:
Ok thanks! Matthieu ________________________________________ From: Halim Amer [[email protected]] Sent: Tuesday, October 20, 2015 10:57 AM To: [email protected] Subject: Re: [mpich-discuss] Semantics of MPI_Send and MPI_Isend
I think understanding section 3.7.4 in MPI 3.1 is required as well. The non-overtaking requirement of pt2pt communication is extended to nonblocking communication with the notion of order. Basically, in your code the Isend operation will not be matched if the previous Send operation is still pending (if same target, same tag, and same communicator).
So yes, you will lose the benefit of asynchronous communication if you introduce synchronous communication in the middle. Although a system might buffer standard sends, it is implementation dependent and the user should not rely on it.
--Halim www.mcs.anl.gov/~aamer
On 10/20/15 10:17 AM, Jeff Hammond wrote:
I recommend that you read "Semantics of Point-to-Point Communication" in the MPI standard (section 3.5 in MPI 3.1). It has all of the information that you seek.
Best,
Jeff
On Tue, Oct 20, 2015 at 7:58 AM, Dorier, Matthieu <[email protected] <mailto:[email protected]>> wrote:
Hi,
In my program I have a loop of this form:
loop { MPI_Send(small message) MPI_Isend(big message) } do_some_computation() MPI_Waitall
The sends and isends all have the same target rank.
Is there a risk that an MPI_Send forces a previously posted MPI_Isend
to complete before it can complete itself (in which case I would loose the benefit of using non-blocking sends)?
Thanks,
Matthieu
_______________________________________________ discuss mailing list [email protected] <mailto:[email protected]> To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss
-- Jeff Hammond [email protected] <mailto:[email protected]> http://jeffhammond.github.io/
_______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss
_______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss _______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss
_______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss