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