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$
2
$\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
  • $\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 '21 at 16:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.