Re: [OMPI users] When is it save to free the buffer after MPI_Isend?

2019-08-11 Thread Jeff Hammond via users
The snippets suggest you were storing a reference to an object on the stack. Stack variables go out of scope when the function returns. Using a reference to them out-of-scope is illegal but often fails nondeterministically. Good compilers will issue a warning about this under the right conditions (

Re: [OMPI users] When is it save to free the buffer after MPI_Isend?

2019-08-10 Thread carlos aguni via users
Hi all, Sorry no reply. I just figured out the solution. The problem was that I had a function that would MPI_Isend a message on every call to it. Then I'd store its request pointer to a list. My MPI_Isend snippet: MPI_Request req; MPI_Isend(blabla, &req) task_push(&req); >From time to time at

Re: [OMPI users] When is it save to free the buffer after MPI_Isend?

2019-07-28 Thread Jeff Squyres (jsquyres) via users
On Jul 27, 2019, at 10:43 PM, Gilles Gouaillardet via users wrote: > > MPI_Isend() does not automatically frees the buffer after it sends the > message. > (it simply cannot do it since the buffer might be pointing to a global > variable or to the stack). Gilles is correct: MPI_Isend does not f

Re: [OMPI users] When is it save to free the buffer after MPI_Isend?

2019-07-27 Thread Gilles Gouaillardet via users
Carlos, MPI_Isend() does not automatically frees the buffer after it sends the message. (it simply cannot do it since the buffer might be pointing to a global variable or to the stack). Can you please extract a reproducer from your program ? Out of curiosity, what if you insert an (useless) MPI_

Re: [OMPI users] When is it save to free the buffer after MPI_Isend?

2019-07-27 Thread carlos aguni via users
Hi Jeff, Thank you for your reply. If i don't free the program completes but I'm not sure whether MPI_Isend automatically frees the buffer after it sends the message. Does it? I put a long sleep at the end to check the memory used using pmap. The pmap command reported I'm using around 2GB which

Re: [OMPI users] When is it save to free the buffer after MPI_Isend?

2019-07-22 Thread Jeff Squyres (jsquyres) via users
> On Jul 21, 2019, at 11:31 AM, carlos aguni via users > wrote: > > MPI_Isend() > ... some stuff.. > flag = 0; > MPI_Test(req, &flag, &status); > if (flag){ > free(buffer); > } > > After the free() i'm getting errors like: > [[58327,1],0][btl_tcp_frag.c:130:mca_btl_tcp_frag_send] > mca_btl

[OMPI users] When is it save to free the buffer after MPI_Isend?

2019-07-21 Thread carlos aguni via users
Hi all, I've got a code where I MPI_Isend at a time and later I get the result from MPI_Test flag to see whether it has completed or not. So the code is like: MPI_Isend() ... some stuff.. flag = 0; MPI_Test(req, &flag, &status); if (flag){ free(buffer); } After the free() i'm getting errors