<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style id="owaParaStyle" type="text/css">P {margin-top:0;margin-bottom:0;}</style>
</head>
<body ocsi="0" fpstyle="1">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">Hello,<br>
We are trying to track down a memory leak, and we are not sure if we are using correctly MPI_ISend and MPI_Irecv<br>
<br>
We would like to use non-blocking communication, between pairs of processes.<br>
<br>
(it happens during a computation, at every time step; every processor has a list of processors it needs to communicate with; what we do not know, is the size of the messages, in advance)<br>
<br>
Let's assume A needs to send to B<br>
Because we do not know the size in advance, we send first a fixed size message from A to B; this first message has info about how big the total message needs to be; A knows it has to send more. When B receives the first part, it sends an ack (small size, int
 4) to A, acknowledging, and also resizing the local buffer, to fill more data; then A sends the rest.<br>
<br>
All these sends / receives use Isend and Irecv, and we try to match the messages, using proper tags. We use different tags for fixed size, ack, and rest of the message.<br>
<br>
Before sending the code, I would like to know is what we try is feasible and doable?<br>
<br>
We notice that the memory use on processor A keeps increasing, when we do this in a loop, on the order of about 1000-2000 bytes per iteration.
<br>
<br>
I think we are matching correctly isends and ireceives, and that our buffers are not leaking (we may be wrong)<br>
<br>
So again, an iteration is like this:<br>
A sends a fixed size message to B; B sends back an ack, and when A receives it, sends the rest, because B has now the proper buffer to receive.<br>
<br>
Next iteration, the size of the message is again unknown, so we do again the dance.<br>
<br>
Do you have an example like that we can use? Should we use other types of sends/receives?<br>
<br>
Thanks,<br>
Iulian<br>
</div>
</body>
</html>