Hi,
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.
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().
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.
My question is, could asynchronous MPI functions work background so that computing cores do other works while the communication is performed?
Thank you.
Best,
Sunwoo Lee