TY - GEN
T1 - Delayed update algorithms for quantum Monte Carlo simulation on GPU
AU - McDaniel, Tyler
AU - D'Azevedo, Ed
AU - Wai Li, Ying
AU - Kent, Paul
AU - Wong, Ming
AU - Wong, Kwai
PY - 2016/7/17
Y1 - 2016/7/17
N2 - QMCPACK is open source scientific software designed to perform Quantum Monte Carlo (QMC) simulation, a first-principles method for describing many-body systems. The evaluation of each Monte Carlo move requires finding the determinant of a dense matrix in the wave functions. This calculation forms a key computational kernel in QMCPACK. After each accepted event, the wave function matrix under-goes a rank-one update to represent a single particle move within the system. The matrix inverse is updated via the Sherman-Morrison formula; occasionally, the explicit inverse must be recomputed to maintain numerical stability. We propose an alternate approach to this kernel that uti-lizes QR factorization to maintain stability without refac-torization. In addition, algorithms based on a novel delayed update scheme are explored in this effort. This strategy en-ables probability evaluation for multiple successive Monte Carlo moves, with application of accepted moves to the wave function matrix delayed until an event is denied, or a prede-termined limit on acceptances p is reached. Accepted events grouped in this manner are then applied to the matrix en bloc with enhanced arithmetic intensity and computational efficiency. Delayed update Sherman-Morrison probability evaluation algorithms with CPU and GPU-accelerated implementations are tested, profiled, and analyzed. A QR based delayed up-date algorithm remains in development. Results are eval-uated against existing methods for numerical stability and efficiency; emphasis is placed on large systems, for which acceleration is critical.
AB - QMCPACK is open source scientific software designed to perform Quantum Monte Carlo (QMC) simulation, a first-principles method for describing many-body systems. The evaluation of each Monte Carlo move requires finding the determinant of a dense matrix in the wave functions. This calculation forms a key computational kernel in QMCPACK. After each accepted event, the wave function matrix under-goes a rank-one update to represent a single particle move within the system. The matrix inverse is updated via the Sherman-Morrison formula; occasionally, the explicit inverse must be recomputed to maintain numerical stability. We propose an alternate approach to this kernel that uti-lizes QR factorization to maintain stability without refac-torization. In addition, algorithms based on a novel delayed update scheme are explored in this effort. This strategy en-ables probability evaluation for multiple successive Monte Carlo moves, with application of accepted moves to the wave function matrix delayed until an event is denied, or a prede-termined limit on acceptances p is reached. Accepted events grouped in this manner are then applied to the matrix en bloc with enhanced arithmetic intensity and computational efficiency. Delayed update Sherman-Morrison probability evaluation algorithms with CPU and GPU-accelerated implementations are tested, profiled, and analyzed. A QR based delayed up-date algorithm remains in development. Results are eval-uated against existing methods for numerical stability and efficiency; emphasis is placed on large systems, for which acceleration is critical.
KW - Emergent platforms
KW - QMC simulation
KW - Scientific computing
UR - http://www.scopus.com/inward/record.url?scp=84989208837&partnerID=8YFLogxK
U2 - 10.1145/2949550.2949579
DO - 10.1145/2949550.2949579
M3 - Conference contribution
AN - SCOPUS:84989208837
T3 - ACM International Conference Proceeding Series
BT - Proceedings of XSEDE 2016
PB - Association for Computing Machinery
T2 - Conference on Diversity, Big Data, and Science at Scale, XSEDE 2016
Y2 - 17 July 2016 through 21 July 2016
ER -