Delayed Update Algorithms for Quantum Monte Carlo Simulation on GPU: Extended Abstract
暂无分享,去创建一个
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 undergoes 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 utilizes QR factorization to maintain stability without refactorization. In addition, algorithms based on a novel delayed update scheme are explored in this effort. This strategy enables 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 predetermined 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 update algorithm remains in development. Results are evaluated against existing methods for numerical stability and efficiency; emphasis is placed on large systems, for which acceleration is critical.
[1] Phani K V V Nukala,et al. A fast and efficient algorithm for Slater determinant updates in quantum Monte Carlo simulations. , 2009, The Journal of chemical physics.
[2] Jordan Eric Vincent. Quantum Monte Carlo Calculations of the Electronic Excitations of Germanium Atoms, Molecules and Nanoclusters Using Core-Polarization Potentials , 2001 .
[3] Robert H. Halstead,et al. Matrix Computations , 2011, Encyclopedia of Parallel Computing.
[4] D. Ceperley,et al. Monte Carlo simulation of a many-fermion study , 1977 .