<html><head><style type='text/css'>p { margin: 0; }</style></head><body><div style='font-family: times new roman,new york,times,serif; font-size: 12pt; color: #000000'>Hi,<div><br></div><div>These messages piqued my curiosity;</div><div><br></div><div>If I have two processes, process 0 does an MPI_Send to process 1 and eventually, process 1 posts a matching MPI_Recv or MPI_Irecv; does process 0 waits for the MPI_Recv/Irecv to be posted before returning from the MPI_Send? (in other words if process 0 does 2 MPI_Send and process 1 does 2 MPI_Recv, is the linearization "Send; Send; Recv; Recv" possible?)</div><div><br></div><div>Second question: in the situation described by Sufeng, where a process does a MPI_Send to itself, MPI has enough information to see that the process is sending to itself while it has not posted any matching receive, why would MPI block instead of printing an error and aborting? Is it because in a multithreaded program, the matching receive could be posted by another thread? (Yet in that case I always thought it was unsafe to use the same communicator from multiple threads...)</div><div><br></div><div>Thanks,</div><div><br></div><div>Matthieu</div><div><br><hr id="zwchr"><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><b>De: </b>"Sufeng Niu" <sniu@hawk.iit.edu><br><b>À: </b>"Pavan Balaji" <balaji@mcs.anl.gov><br><b>Cc: </b>discuss@mpich.org<br><b>Envoyé: </b>Mardi 2 Juillet 2013 17:20:25<br><b>Objet: </b>Re: [mpich-discuss] MPI_Send and recv<br><br><div dir="ltr"><div>Thank you so much! Now I make sense<br><br></div>Sufeng<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jul 2, 2013 at 5:19 PM, Pavan Balaji <span dir="ltr"><<a href="mailto:balaji@mcs.anl.gov" target="_blank">balaji@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
On 07/02/2013 05:18 PM, Sufeng Niu wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Thanks a lot, that is most confusing part for me in MPI. I would like to<br>
clear this type of problems.<br>
<br>
So the blocking begins to send message to itself, but there is no<br>
receive posted. Thus, the MPI block it. Am I right here?<br>
</blockquote>
<br></div>
Correct.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Thus, I need a nonblocking receive to wait the message here. Can I use<br>
blocking receive?<br>
</blockquote>
<br></div>
If you use blocking receive, you'll block in the receive; how will you reach the send?<span class="HOEnZb"><font color="#888888"><br>
<br>
-- Pavan</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
-- <br>
Pavan Balaji<br>
<a href="http://www.mcs.anl.gov/~balaji" target="_blank">http://www.mcs.anl.gov/~balaji</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Best Regards,<div>Sufeng Niu</div><div>ECASP lab, ECE department, Illinois Institute of Technology</div><div>Tel: 312-731-7219</div>
</div>
<br>_______________________________________________<br>discuss mailing list discuss@mpich.org<br>To manage subscription options or unsubscribe:<br>https://lists.mpich.org/mailman/listinfo/discuss</blockquote><br></div></div></body></html>