I am trying to calculate phonons using PAW formalism and abinit. Because it is not implemented [yet] i am falling back to phonopy code http://phonopy.sourceforge.net/ . The methodics is relatively straight-forward, program generates supercells with distorted atom positions and takes calculated forces as input to produce phonot spectra.
My problem arises when i am trying to simulate 3x3x3 supercell with 8 atoms in each unit cell. This results in roughly 1440 bands and i was unable to bring such a system to running due to out-of-memory errors. How can one reduce memory demands of simulation? The things i tried:
- Just increasing number of processors does not help because the total number of k-points with ngkpt=4x4x4 is 16 and most of processors are idle.
- Activation of paral_kgb option. Apart from standard settings wfoptalg 4, nloalg 4, fftalg 401, intxc 0 and fft_opt_lob 2 i tried enabling parallelization over k-points (npkpt 16, npband 2, npfft 1, bandpp 1). I tried various combinations of options, but i am missing some hint like "the memory used by each processor gets divided by npband (npfft or something else)". Is at all possible to reduce memory by parallelization?
- Activating mkmem=0. Some data gets written to disc, but i am unsure whether the simulation gets slower (can one provide a rough estimate of slowdown factor?) The problem in this case is, that i cannot use band/fft parallelization and the simulation lasts for ages.
I am using a Cray XT6 machine with 24 processors and 32 GB/node. I tried reducing number of MPI tasks per node with little success. With 3 MPI tasks/node i could start the simulation, but this seem to be a very inefficient mode of operating parallel machine.
Kind regards,
Ruslan Zinetullin