Page 1 of 1

memory for low scaling ACFDT

Posted: Fri Aug 06, 2021 3:44 pm
by kdoblhoff
I have a question on the memory scaling for the low scaling ACFDT algorithm. I thought that the memory (for fixed number of threads) should scale as Nk*(NGX_supercell*NGY_supercell*NGZ_supercell)^2*NTAUPAR, however, I have two calculations that are essentially the same, except for the kpoint grid and the reported memory needed does not seem to work out:
Calculation 1 (2x2x1 k-points) (showing the relevant parts of the OUTCAR)

Code: Select all

 running   32 mpi-ranks, with    1 threads/rank
 Found      4 irreducible k-points:
 Distributing  12 time points into  8 group(s)
 FFT grid for supercell:   NGX =  48; NGY =  32; NGZ =  24
 min. memory requirement per mpi rank   1633.5 MB, per node  52270.5 MB
Calculation 2 (8x8x1 k-points) (showing the relevant parts of the OUTCAR)

Code: Select all

 running   32 mpi-ranks, with    1 threads/rank
 Found     25 irreducible k-points:
 Distributing  12 time points into  1 group(s)
 FFT grid for supercell:   NGX = 192; NGY = 128; NGZ =  24
 min. memory requirement per mpi rank   3509.1 MB, per node 112290.9 MB
In both cases precfoc was set to fast.
Clearly, the memory requirement given in the OUTCAR (scaled by 1/NTAUPAR) of the second calculation is only roughly a factor 17 higher than that of the first calculation, much less than expected from the equation above (Given Nk=4 in the first calculation and Nk=25 in the second one, and (NGX*NGY*NGZ) of the second calculation is a factor 16 larger than that of the first, giving a total of 25/4*16^2). Where am erring?

Thank you and best regards,
Katharina Doblhoff-Dier

Re: memory for low scaling ACFDT

Posted: Sun Aug 08, 2021 11:05 pm
by marie-therese.huebsch
Dear Katharina Doblhoff-Dier,

Thank you for bringing up this topic! I would like to investigate it in detail. Could you please provide the VASP version you are using and a minimal example to look into (POSCAR, POTCAR, INCAR, KPOINTS, OUTCAR)?

Best regards,
Marie-Therese

Re: memory for low scaling ACFDT

Posted: Wed Aug 11, 2021 12:04 pm
by kdoblhoff
Dear Marie-Therese,
Thank you for your reaction! The vasp version we currently use is vasp.6.1.2_patched.
I attach the relevant input and output files. INCAR, POTCAR and POSCAR are identical in both calculations. I uploaded 2 directories for the 2 different calculations.
Thank you for having a look!
Best regards,
Katharina Doblhoff-Dier

Re: memory for low scaling ACFDT

Posted: Mon Aug 23, 2021 9:18 am
by merzuk.kaltak
Dear Katharina,

I have restructured the wiki entry concerning the required memory for low-scaling RPA calculations. The previous entry was not correct, thanks you for pointing this out.
A much better estimate is given by following formula:

Code: Select all

(NGX*NGY*NGZ)*(NGX_S*NGY_S*NGZ_S) / ( NCPU  / NTAUPAR ) * 16
According to the files you upload one obtains 1764 and 3528 MB per node for the 2x2x1 and 8x8x1 k-points job as an estimate, respectively. This is quite close to the actual used memory of 2204 and 4685 MB per node as written in the posted OUTCAR files.

Note, apart from decreasing NTAUPAR you can also increase the number of MPI ranks to decrease the required memory per node.
So, running the 8x8x1 with 64 ranks might finish successfully.