[Pw_forum] Why does Ewald sum calculation need so much RAM
Thomas Gruber
thomas.gruber at physik.tu-freiberg.de
Tue Jul 17 16:57:38 CEST 2012
sorry for the half mail. I came accidentally on the send instead of the
save button. I stopped writing the mail because I did some more tests.
I was wondering why the required RAM for the same phonon calculation
increase by a few times, where in one calculation the scf calculation
was done with the keyword occupation="tetrahedra" and the other one with
"smearing". I find out that the change was in using "-npool 12" when
calling the mpirun. I wanted to use it to save cpu time, but then i get
over the limit of my available RAM.
For example the the RAM usage of a band structure calculation increases
from 114MB per core to 800MB per core (12 cores) by changing "-npool 1"
to "-npool 12". Can this factor be estimated and is this one the same
during the Ewald sum calculation of a phonon calculation? The Ewald sum
calculation seems to be the part of the phonon calculation with the
highest demand on RAM. For my phonon calculation at the gamma point of a
system with 154 atoms (PAW pseudopotentials, orthorombic, kgrid:5x2x3,
12 generated k-points) and "-npool 8" it needs over 250 GB RAM with 32
cores (on one node). Is this realistic? Probably there is no keyword to
set the maximum amount of available RAM in the input file or a way to
estimate the RAM usage during the Ewald sum calculation.
For small systems this Ewald sum calculation is no big deal, but for
this big system the scale up is pretty poor. With 16 cores it takes "3d
6h" and on 32 cores it takes "2d 16h" and I have only 5 days on that
cluster for one job. To calculate at least on representation I need 32
cores for one job.
My problem is now that I have to use 32 cores per job, split into each
representations (451) and use "-npool 1" to get these jobs running and
it calculates the Ewald sum in each job, which actually should be
calculated only once per q point. So 2/3 of my cpu time is consumed to
calculate the Ewald sum 451 times instead of once. I have already over 1
million CPUh and not even half of it is calculated. Is there a way to
save cpu time?
Thanks in advance.
--
Thomas Gruber
Institut für Theoretische Physik
TU Bergakademie Freiberg
Leipziger Str. 23, 09599 Freiberg, Germany
Tel: +49 (0)3731 392006
Email: thomas.gruber at physik.tu-freiberg.de
More information about the users
mailing list