[CPMD-list] Memory allocation

Axel Kohlmeyer axel.kohlmeyer at theochem.ruhr-uni-bochum.de
Tue May 3 16:54:38 CEST 2005


On Tue, 3 May 2005, Jiri Houska wrote:

JH> Hi all CPMD users,

hi jiri,

JH> I am now running CPMD on Intel Pentium 4 with 4GB memory. The CPMD version is
JH> 3.9.1, compiled with ifc 8.1.0.24 using configuration file BOCHUM-P4 downloaded
JH> from http://www.theochem.ruhr-uni-bochum.de/~axel.kohlmeyer/cpmd-linux. The OS
JH> is Suse9.2 with bigsmp Kernel which should support up to 64 GB memory.

stile you have a 32-bit operating system, so you address space per process
is limited to 3GB minus a little bit.

now you can improve the current situation a little bit by
changing the code in memory.F around line 100 from 
#if defined(__HP)
       IF(IP_XM.EQ.0) THEN
         IERROR=1
       ENDIF

to 

#if defined(__HP) || defined(__PGI) || defined(LINUX_IFC) || defined(__OSX)
       IF(IP_XM.EQ.0) THEN
         IERROR=1
       ENDIF

so you'll get at least 2GB. for more you'll have to run a parallel
job with multiple copies on your single node (as stated before, the
limit is per process), but from previous experience, a job needing
so much memory usually needs a parallel machine for a decent performance
anyway.

the new version 3.9.2 should have that fix already included.

JH> My problem is that the program ends with error message "memory allocation
JH> failed" when it needs more than (approx.) 1 GB of memory. For example, a
JH> WfOptimization (approx. 100 atoms, 10A cubic cell) with cutoff of 45Ry runs well
JH> with peak memory usage (declared at the end of the output file) of 992 MB (~25%
JH> of computer limit), while the same job with cutoff of 50Ry ends with "memory
JH> allocaton failed". Of course, for most of the run the memory usage was much
JH> lower than the peak.
JH> 
JH> I have checked using another programs that usage of at least 2 GB of memory for
JH> one process is no problem for the computer, so I believe that the problem (lack
JH> of my knowledge) is related to the CPMD program itself. Using "INITIALIZE
JH> WAVEFUNCTION RANDOM" (not "... ATOM") improved the limit slightly (45 -> 50 Ry),
JH> but nothing more.
JH> 
JH> Does anybody have any idea how to use with CPMD whole memory of the computer (4
JH> GB)? Thanks a lot for any help!

the best solution is probably to put the memory into 
an opteron machine ;-). SMP intel xeon machines do not
respond very well to the memory bandwidth requirements
of a CPMD calculation. i've had cases, where running in
parallel over both cpus was slower than running a single
copy of the parallel binary (which in turn is about 10%
slower than the serial binary).

regards,
	axel.

JH> Jiri Houska
JH> PhD student
JH> University of West Bohemia
JH> Czech Republic
JH> 
JH> 
JH> 
JH> 
JH> 
JH> 
JH> _______________________________________________
JH> CPMD-list mailing list
JH> CPMD-list at cpmd.org
JH> http://cpmd.org/mailman/listinfo/cpmd-list
JH> 
JH> 

-- 

=======================================================================
Dr. Axel Kohlmeyer   e-mail: axel.kohlmeyer at theochem.ruhr-uni-bochum.de
Lehrstuhl fuer Theoretische Chemie          Phone: ++49 (0)234/32-26673
Ruhr-Universitaet Bochum - NC 03/53         Fax:   ++49 (0)234/32-14045
D-44780 Bochum  http://www.theochem.ruhr-uni-bochum.de/~axel.kohlmeyer/
=======================================================================
If you make something idiot-proof, the universe creates a better idiot.




More information about the CPMD-list mailing list