Let's say process A MPI_Sends a message to process B, as a result process B posts an MPI_Irecv then MPI_Sends a message to A to notify it that the receive was posted, following which A calls MPI_Rsend. It's a dumb example, but just to say that in some scenarios it's possible to know in advance that an MPI_Recv or an MPI_Irecv was posted. No my question is, what does Mpich optimizes within MPI_Rsend; what is done differently from MPI_Send? Thanks, Matthieu ________________________________ From: Atchley, Scott <[email protected]> Sent: Wednesday, September 6, 2017 7:41:54 PM To: [email protected] Subject: Re: [mpich-discuss] MPI_Rsend advantage If you can guarantee that it is posted, then you can guarantee that it will match. If you cannot guarantee that it is posted and will match, then it may be placed in the unexpected buffer and will need to be copied into the final location once the receive is posted. My question is, “How do you know it has been posted?”
On Sep 6, 2017, at 6:21 AM, Dorier, Matthieu <[email protected]> wrote:
Hi,
Out of curiosity, what gain is there to using MPI_Rsend instead of MPI_Send when I know that the receiver has posted a receive? Do I avoid a rendez-vous protocol? Do I avoid a buffer copy somewhere?
Thanks,
Matthieu _______________________________________________ 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