Hi Iw Pi,
I had a look at your calculation and tried myself the set of input files.
Essentially, the low-scaling GW code will perform a dry run of the calculation going through all routines and collecting the memory requirement. To our knowledge this should work pretty accurately. The first time I run your calculation it was printing:
Code: Select all
estimated memory requirement per rank 300365.0 MB, per node ******** MB
also with 8 ranks. This would be then 2350 GB of memory for all 8 ranks. I could not run this (I had 1TB of mem avail). Interestingly in your log it shows a much lower 202835.1 MB requirement. That is a bit unclear to me how this happened. But I was also lazy and started the calculation without prior calculation of the WAVECAR and WAVEDER file, which is of course not correct to do. But I think it is not unthinkable that this job will go beyond the 2.5 TB memory you have available. What I did do to verify the accuracy of the estimation is to run the GW calculation with these settings: reduce kmesh to 3x2x1 and this INCAR file:
Code: Select all
SYSTEM = hetero
ENCUT = 300
LWAVE = .TRUE.
LCHARG = .TRUE.
ISMEAR = 0
SIGMA = 0.05
LORBIT = 11
LDIPOL = .TRUE.
IDIPOL = 3
ALGO = G0W0R
NOMEGA = 12
PRECFOCK = Fast
LOPTICS = .TRUE. # for insulator recommended
This was giving me the following output:
Code: Select all
estimated memory requirement per rank 109787.8 MB, per node 878302.0 MB
and I monitored RAM usage by running vasp with mpirun -np 8 time -v vasp_std . This will generate a report in the end where you will also find these lines:
...
Maximum resident set size (kbytes): 120153880
...
which are the maximum number of memory used during the RAM. 120153880/1024*8 = 938,702 MB of memory. And this is very close to the 878302 MB reported I would say given that each rank had a slightly different number. From that the error of the estimate should be only around 10%. Can you try with this INCAR file and k-mesh? I would suggest to start with this setting and then increase precision (k-mesh, ntaupar, nomega, encut, etc) . My setting is for performing the GW calculation in one step. This will do a DFT calculation first including WAVEDER calculation (your system is as far as I can see insulating? Otherwise set LOPTICS=False please). You can also use more nodes with the same number of ranks per node to reduce memory load. However, more ranks per node will use more memory.
Best,
Alex