Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

Subject: Re: [OMPI users] OpenMPI and Valgrind
From: Ashley Pittman (ashley_at_[hidden])
Date: 2009-02-12 11:50:07


On 12 Feb 2009, at 15:53, Reuben D. Budiardja wrote:
> Hello,
> I am having problem that if a program is compiled with OpenMPI,
> Valgrind
> doesn't work correctly, i.e: it does not show the memory leak like it
> supposed too. The same test program compiled with regular "gfortran"
> and run
> under Valgrind will show the memory leak.

Not only will Valgrind not show the memory leak but it also won't show
buffer over-runs, as it doesn't understand the allocator it'll assume
all memory handled by the allocator is read/writeable even if it's
redzone or hasn't been allocated.

> I search the list archive and found this post here, which exactly
> described my
> problem:
> http://www.open-mpi.org/community/lists/users/2008/07/6058.php,
> but I don't understand if there is resolution to it.

It's worth reading the whole of that thread, in particular

http://www.open-mpi.org/community/lists/users/2008/07/6076.php

> I am using OpenMPI-1.2.8 with all the default configure option. What
> should I
> do to be able use Valgrind with program compiled by OpenMPI ?

 From memory and reading the above links (i.e. untested advice):
1) Use OpenMPI 1.3 where the default is not to include this.
2) Configure Open MPI 1.2.8 with the --disable-memory-manager option
3) Compile you application without the -lopen-pal otion. In practice
this means running "mpicc --show" and cut-and pasting the underlying
compile line without the -lopen-pal into your application build
procedure. I was able to do this for hello world but I can image it'll
be a real PITA for anything larger.

I'm experimenting with Open MPI and valgrind at this time, if you are
still having problems I may be able to help further.

Ashley,