Hi,
using openmpi 1.7.5 I observe quick growth of memory allocated by our program,
and compiling it with '-O1 -g -fno-omit-frame-pointer -fsanitize=leak' using
gcc 4.9, they seem to originate from within openmpi. As an example:
Direct leak of 32000 byte(s) in 200 object(s) allocated from:
#0 0x7fbe57737793 in __interceptor_calloc
../../../../gcc/libsanitizer/lsan/lsan_interceptors.cc:89
#1 0x7fbe58526375 in mca_coll_base_comm_select
../../../../ompi/mca/coll/base/coll_base_comm_select.c:144
#2 0x7fbe584d664b in ompi_comm_activate
../../ompi/communicator/comm_cid.c:692
#3 0x7fbe584d2c7f in ompi_comm_split ../../ompi/communicator/comm.c:582
#4 0x7fbe58501231 in PMPI_Comm_split
/data/vjoost/openmpi-1.7.5/build/ompi/mpi/c/profile/pcomm_split.c:68
#5 0x7fbe587b6e84 in ompi_comm_split_f
/data/vjoost/openmpi-1.7.5/build/ompi/mpi/fortran/mpif-h/profile/pcomm_split_f.c:74
#6 0x1c0382e in __message_passing_MOD_mp_comm_split
/data/vjoost/clean/cp2k/cp2k/src/common/message_passing.F:1592
which corresponds to (coll_base_comm_select.c:144) :
/* TODO -- remove me for 1.9.x */
comm->c_coll.neigh = calloc (1, sizeof (*comm->c_coll.neigh));
I'm wondering if this variable gets freed upon freeing the communicator.
Thanks in advance,
Joost