<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div dir="ltr"><span style="font-size:12.8px">Hi,</span><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">I would like to implement a software that communication and computation are performed simultaneously. That is, while communication for the current data is done, the next data is computed overlapping with the communication.</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">I expected asynchronous MPI such as Iallgather() would make the communication and computation overlapped. But it seems like the communication is not started until I call MPI_Wait(). </div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">With a simple toy application, I compared the two cases. MPI_IAllgather + MPI_Wait() versus MPI_Allgather. The issue is that MPI_Wait() takes almost same time with MPI_Allgather. I can guess the communication is just started when I call MPI_Wait. </div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">My question is, could asynchronous MPI functions work background so that computing cores do other works while the communication is performed?</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Thank you.</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Best,</div><div style="font-size:12.8px">Sunwoo Lee</div></div>