New memory estimation for QE 6.1
The accuracy of the new routine for memory estimation (memory_report_new.f90) is evaluated on a series of test cases.
Test cases
The following pictures summarize the results that have been collected with gperftools. The absolute accuracy of the estimation seems to be better than 50MB/process with the notable exception of the simulation using real space algorithms for the charge augmentation where the estimation of the boxes points is very rough.
See below for a short comment on the various results.
Gamma point, Norm Cons., SCF, 1 pool (obviously)
This is an interesting case in which the initialization of the wavefunction
is more memory demanding that the iterative solution. This is due to
natomwfc
being very large.
Gamma point, PAW, SCF, 1 pool
The peaks in this picture are from addusdens
Gamma point, PAW, SCF with tqr, 1 pool
In this case, the estimation of tab(...)%qr
is off by almost 200 MB.
Gamma point, PAW, VC-RELAX, 1 pool
In this case addusforces
sets the threshold for the required memory.
Gamma point, US, SCF, 1 pool
This test case is very small. The accuracy of the estimation is impacted by the small sized matrices that are not considered in the evaluation. Notably, MPI and MKL allocations becomes sizable in this case.
4 kpoints, US, SCF, nspin=2, 1 pool
Collinear magnetism, up to convergence.