Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] Valgrind Warning
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2008-12-14 13:39:58


On Dec 14, 2008, at 8:21 AM, Gabriele Fatigati wrote:

> i have a strage problems with OpenMPI 1.2.5 Intel Compiled when i
> debug my code under Valgrind 3.3. In a very simple ping-pong MPI
> application, i retrieve strange warnings about MPI Communications,
> like MPI_Send,MPI_Recv. Valgrind tells me that there are uninitialized
> values in send/recv buffers, but there are initialized, i'm absolutely
> sure!
>
> There warnings are detected when my application runs over Infiniband
> net,

This is because IB uses memory that does not come from the memory
allocator that Valgrind is aware of (e.g., it may be memory that was
allocated by the kernel itself). Hence, since Valgrind is unaware of
the memory, it thinks that its contents are undefined. As such, it's
quite likely that you're seeing false positives.

The memchecker support in the upcoming v1.3 series made quite a few
advancements in the area of valgrind memory checking, and recent
versions of libibverbs allow you to compile in valgrind extensions
that tell valgrind "this memory is ok" (which prevents these false
positives). I'm pretty sure that the OFED install does not enable
these libibverbs valgrind extensions; you will likely need your own
installation of libibverbs and your verbs plugin (libmthca for you, I
think...?) that explicitly has the valgrind extensions enabled.

-- 
Jeff Squyres
Cisco Systems