6
$\begingroup$

Is there any way to get a memory estimate for VASP calculations either directly or indirectly (based on some example calculation)? For example, I would like to be able to predict based on my settings how much memory is needed within about a GB per core.

$\endgroup$

1 Answer 1

3
$\begingroup$

This is difficult to calculate in detail, but the largest memory objects are probably the Kohn-Sham wavefunctions and the pseudopotential projectors (if you're representing them in reciprocal-space). In order to calculate their memory requirements, you need to know the number of:

  • Plane-waves, $N_p$

  • Bands, $N_b$ (all the bands you're calculating, i.e. including conduction bands)

  • k-points, $N_k$

  • Spins, $N_s$

  • Total pseudopotential projectors, $N_{proj}$

The wavefunction coefficients will be stored as double-precision complex values, meaning 16 bytes each. The total storage for the wavefunction is thus,

RAM for $\psi = 16\times N_p\times N_b\times N_k\times N_s$ bytes;

RAM for projectors $= 16\times N_p\times N_{proj}\times N_k\times$ bytes.

(Assuming that the pseudopotentials are not spin-dependent.)

This is the total storage for each object; as a rough guide, you could divide them by the number of processes to get the memory requirements per process.

$\endgroup$
1
  • 1
    $\begingroup$ I was thinking something like this should be correct, I was really hoping something like CASTEP's dry run was available in VASP but I can't seem to find it either because I don't know where to look or its not available. $\endgroup$ Dec 13, 2021 at 16:15

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .