Author Topic: TM memory allocation  (Read 6781 times)

175116

  • Jr. Member
  • **
  • Posts: 13
  • Karma: +0/-0
TM memory allocation
« on: January 24, 2012, 06:10:21 PM »
Hello,

I'm a bit confused about memory allocation in TM. For example, I have a computer with 8 cores and 16GB RAM total (i.e. 2GB/core). I run define module and set RI memory to, let say, 1500MB. I have two basic questions:

1) If I run sequential ridft on a single core, the job may take up to 1500MB for RI + some additional memory for other purposes. Thus the 2GB/core might be sufficient for the whole job, is that right? So I can run 8 jobs at a time...

2) If I run parallel version of ridft (MPI or Global arrays) on 4 cores, the 1500MB RI memory specified in the control file implies that each core may take up to 1500MB for RI (+ some additional memory), or all cores will share the 1500MB? In other words, the memory I allocate for RI within the control file is per core or total?

Thank you very much for elucidation.

antti_karttunen

  • Sr. Member
  • ****
  • Posts: 227
  • Karma: +1/-0
Re: TM memory allocation
« Reply #1 on: January 24, 2012, 07:53:56 PM »
Hi,

For the MPI version, the $ricore is per core, but actually only the master process uses this memory. So you can allocate the slave processes much less using the $ricore_slave keyword (I normally use $ricore_slave 1). So, in your case you could use 8 cores, $ricore 10000, and $ricore_slave 1 (for example). I don't quite remember how this was for the GA version since I have not been using that lately.

Best,
Antti