[CPMD-list] memory problem

Axel Kohlmeyer akohlmey at cmm.chem.upenn.edu
Thu Aug 23 16:09:27 CEST 2007


On Wed, 22 Aug 2007, Brandon Keith wrote:

hi brandon,

BK> Hi,  I'm having a small memory problem.  Whenever I try to run a 50 
BK> Rydberg cutoff, 198-atom run  on my 64 bit, 8 Gb Ram machine I get:
BK> 
BK> 
BK>  INITIALIZATION TIME:                                1.10 SECONDS
BK> 
BK>   MEMORY| MEMORY REQUIRED:    280192852  WORDS
BK> 
BK> 
BK>  PROGRAM STOPS IN SUBROUTINE MEMORY| TOO BIG VALUE
BK>   999
BK> 
BK> This means it's using only 289 MB memory, right?  In my system memory 

no. words refers to the storage size of the default (double) precision
floating point number. in this case (and essentially all common 
machines these days, thank god) it means 8 bytes. so in other
words (pun intended), your allocation request is for 2.087599 gigabyte.
and this is the problem. your machine does not support allocating
that large amount of memory in a single call.

BK> manager it looks like it's using about a 1 Gb for a 40 Ryd cutoff run, 
BK> which works (but is not accurate).  I can't imagine going to 50 Ryd uses 
BK> up the other 6-7 Gb of Ram.  Any ideas if this is a cpmd max memory 
BK> allocation problem or a mysterious hardware issue?

neither, this is essentially a problem of using a fortran system 
with 4 byte signed integers. my guess is you are running on a x86_64
linux machine, right? with those machines a _single_ memory 
allocation request is limited to (2**31)-1 bytes or 268435455 words.
you can still address more memory alltogether, but that has to
be in multiple allocations. the only way to handle this, is to
run in parallel, since cpmd will distribute most of the memory 
across parallel copies and then the allocations per copy will
be smaller. also, in my experience so far, _any_ CPMD calculation 
that would need that much memory on a single node was going to 
be so painstalkingly slow, that it'd have to be moved to a 
parallel machine ASAP anyways. my current rule of the thumb is 
that about 1GB per cpu core is a good size of dimension compute
nodes, which would translate, that a CPMD job should not use
more than about 750MB per cpu core or one would be better off
using more nodes.

cheers,
   axel.

p.s.: a few remarks about posting to a mailing list. 
- please don't quote mails that have nothing to do
  with what you are writing about, particularly not
  digests (those can be huge, although not here).
- if you report a problem with CPMD, please always 
  name which version of CPMD you are using and provide
  details about the hardware, the operating system and 
  compiler/library versions that you are using. that 
  will almost always help to give a more specific answer
  and pinpoint the problem. thanks.


BK>   Thanks,
BK>     Brandon
BK> 
BK> 
BK> 
BK> cpmd-list-request at cpmd.org wrote:
BK> > Send CPMD-list mailing list submissions to
BK> > 	cpmd-list at cpmd.org

[...]

-- 
=======================================================================
Axel Kohlmeyer   akohlmey at cmm.chem.upenn.edu   http://www.cmm.upenn.edu
   Center for Molecular Modeling   --   University of Pennsylvania
Department of Chemistry, 231 S.34th Street, Philadelphia, PA 19104-6323
tel: 1-215-898-1582,  fax: 1-215-573-6233,  office-tel: 1-215-898-5425
=======================================================================
If you make something idiot-proof, the universe creates a better idiot.



More information about the CPMD-list mailing list