Mon 06 May 2013 01:51:12 PM UTC, original submission:
Hi,
I am using Octave 3.6.4 on Ubuntu 12.10 and 13.04. I have written a code for solving certain fluid dynamics problem (~5000 lines) using Octave and the openmpi_ext toolbox (version 1.1.0). I am noticing a strange problem: the memory usage slowly increases with each iteration. I noticed this leak on all the platforms I have access to: Ubuntu (12.04, 12.10, and 13.04) and RedHat systems. The leak persists for all the recent versions of openmpi (1.6.2, 1.6.4, 1.7.1).
Since my original code is too complicated for others to debug, I created two sample codes for testing (see attached). The speedtest.m file was originally written by Dr. Jeremy Kepner (MatlabMPI). I modified it to work in conjunction with openmpi_ext.
When I ran this code with valgrind:
valgrind --leak-check=yes -v --log-file=Valgrind.out mpirun -np 2 octave -q --eval speedtest &
The summary of valgrind is:
==24981== definitely lost: 42,031 bytes in 28 blocks
==24981== indirectly lost: 25,802 bytes in 76 blocks
==24981== possibly lost: 0 bytes in 0 blocks
==24981== still reachable: 124,717 bytes in 603 blocks
==24981== suppressed: 0 bytes in 0 blocks
The loss monotonically increases with increasing number of processors. The other code (OCTLES_TEST.m) has similar issue.
I also ran valgrind with massif:
valgrind --tool=massif --time-unit=ms mpirun -np 4 octave -q --eval OCTLES_TEST &
The output of ms_print is attached. In general, the memory consumption increases with time (some fluctuations are noticeable). This should not be the case.
I would appreciate if you could help me out with identifying the memory leak(s) in openmpi_ext.
|