- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I have a fortran program compiled with ifort and openMPI and I experienced a strange behaviour - when runing at one processor, it takes about 105M of VIRT memory (which is fine) but when I run it on 2 processors ( mpirun -np 2 ...) each process takes about 550MB of virt memory. There is nothing in the code that would scale with the number of processes and the amount of SHR memory fits well ( 44 MB with one proc and cca 52MB altogether with 2 procs). Any ideas why does it need so much memory?
I have a fortran program compiled with ifort and openMPI and I experienced a strange behaviour - when runing at one processor, it takes about 105M of VIRT memory (which is fine) but when I run it on 2 processors ( mpirun -np 2 ...) each process takes about 550MB of virt memory. There is nothing in the code that would scale with the number of processes and the amount of SHR memory fits well ( 44 MB with one proc and cca 52MB altogether with 2 procs). Any ideas why does it need so much memory?
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It could be that OpenMPI is pre-allocating a lot of message buffers.
Can you try the same experiment with Intel MPI? If the memory consumption is still too high, Intel MPI provides knobs that you can turn to reduce memory consumption.
--Bill
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Do you happen to use "contains" statement? I remember long time ago
that with contains somehow the memory usage was much larger.
that with contains somehow the memory usage was much larger.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page