On Apr 3, 2015, at 12:50 PM, Lei Shi wrote:
>
> P.S. Pavan suggests me to use MPI_Request_free. I will give it a try.
Keep in mind that you have zero indication of when a send or receive completes
if you MPI_Request_free (Pavan implied this, too). You could be reading half a
message from a p
Hi Jeff,
Yes, the memory issue caused by Isend/Irecv without calling MPI_Wait
probably is the reason. Attached is my test results showing that calling
MPI_Isend without using MPI_Wait at all leads to a wired wtime for my
program. The Wtime should be linear, but some jumps show up after several
ite
Hi Matthieu,
Thanks for your help. That is my understanding too and is verified by my
test code. But I think there may be still a way to do it without calling
wait or test. For my case, I just don't need to worry about the received
data is correct or not (latest one or the old initial data)
Since
In the general case, MPI defines that you *have* to call one of the MPI_Test or
MPI_Wait functions to finish the communication request. If you don't do so,
you're basically leaking resources (e.g., memory).
In a single-threaded MPI implementation, the call to MPI_Test/MPI_Wait/etc. may
be wher
Hi,
I think you have to call either Wait or Test to make the communications
move forward in the general case. Some hardware may have a hardware thread
that makes the communication, but usually you have to make it "advance"
yourself by either calling Wait ot Test.
Cheers,
Matthieu
2015-04-03 5:4
I want to use non-blocking send/rev MPI_Isend/MPI_Irev to do communication.
But in my case, I don't really care what kind of data I get or it is ready
to use or not. So I don't want to waste my time to do any synchronization
by calling MPI_Wait or etc API.
But when I avoid calling MPI_Wait, my pr