<div dir="ltr"><div><div><div><div>Hello,<br><br></div>I used MPI RMA in my program, but the program stop at the MPI_Win_fence, I have a master process receive data from udp socket. Other processes use MPI_Get to access data.<br>
<br></div>master process:<br><br></div>MPI_Create(...)<br></div><div style="margin-left:40px"><span style="color:rgb(116,27,71)">for(...){<br></span></div><div style="margin-left:40px"><span style="color:rgb(116,27,71)">/* udp recv operation */<br clear="all">
</span></div><div><div><div><div><div><div style="margin-left:40px"><span style="color:rgb(116,27,71)"><br></span></div><div style="margin-left:40px"><span style="color:rgb(116,27,71)">MPI_Barrier  // to let other process know data received from udp is ready<br>
<br></span></div><div style="margin-left:40px"><span style="color:rgb(116,27,71)">MPI_Win_fence(0, win);<br></span></div><div style="margin-left:40px"><span style="color:rgb(116,27,71)">MPI_Win_fence(0, win);<br></span></div>
<div><div style="margin-left:40px"><span style="color:rgb(116,27,71)"><br>}</span><br></div><br></div><div>other processes:<br><br></div><div style="margin-left:40px"><span style="color:rgb(116,27,71)">for(...){<br><br></span></div>
<div style="margin-left:40px"><span style="color:rgb(116,27,71)">MPI_Barrier  // sync for udp data ready<br><br></span></div><div style="margin-left:40px"><span style="color:rgb(116,27,71)">MPI_Win_fence(0, win);<br><br></span></div>
<div style="margin-left:40px"><span style="color:rgb(116,27,71)">MPI_Get();<br></span></div><div style="margin-left:40px"><span style="color:rgb(116,27,71)"><br></span></div><div style="margin-left:40px"><span style="color:rgb(116,27,71)">MPI_Win_fence(0, win);  <span style="color:rgb(0,0,0)"><-- program stopped here</span><br>
</span></div><div style="margin-left:40px"><span style="color:rgb(116,27,71)"><br></span></div><div style="margin-left:40px"><span style="color:rgb(116,27,71)">/* other operation */<br></span></div><div style="margin-left:40px">
<span style="color:rgb(116,27,71)">}</span><br></div><div><br></div><div>I found that the program stopped at second MPI_Win_fence, the terminal output is:<br><br><br></div><div><span style="color:rgb(116,27,71)">===================================================================================<br>
=   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES<br>=   EXIT CODE: 11<br>=   CLEANING UP REMAINING PROCESSES<br>=   YOU CAN IGNORE THE BELOW CLEANUP MESSAGES<br>===================================================================================<br>
YOUR APPLICATION TERMINATED WITH THE EXIT STRING: Segmentation fault (signal 11)<br>This typically refers to a problem with your application.<br>Please see the FAQ page for debugging suggestions</span><br><br></div><div>Do you have any suggestions? Thank you very much!<br>
<br></div><div>-- <br>Best Regards,<div>Sufeng Niu</div><div>ECASP lab, ECE department, Illinois Institute of Technology</div><div>Tel: 312-731-7219</div>
</div></div></div></div></div></div></div>