You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Mark Dewing edited this page Sep 27, 2018
·
6 revisions
The key kernels from QMCPACK are present in miniQMC, but the relative importance of each kernel may not be retained.
The inverse determinant update is an N^3 operation, and increasingly dominates the run time as the system size increases.
In miniQMC, the timer is Update/Determinant. In QMCPACK, the timer is DiracDeterminantBase::update
The acceptance ratio option (-r) affects the number of inverse updates performed.
The default setting is 0.5, which corresponds the acceptance ratio of a VMC run. To more accurately reproduce a DMC run, use an acceptance ratio 0.99 (-r 0.99)
To more closely reproduce the number of calls from the DMC NiO test cases, use "-n 25 -r 0.999".
The QMCPACK timer for the main part of the particle loop is DMCUpdatePbyP::movePbyP, and this corresponds with the miniQMC timer Diffusion.
The non-local pseudopotential in QMCPACK is Hamiltonian::NonLocalECP and in miniQMC is Pseudopotential.
Comparing times
Time fraction for MiniQMC vs. QMCPACK. Run on dual-socket Skylake 8180. First grouping of bars (lighter colors) is miniQMC. Second grouping of bars (darker colors) is QMCPACK. Each bar in the grouping is a different thread count (1, 14, 28, and 56).
Absolute times using "-n 25 -r 0.999". These runs use 14 threads.