QMCPACK, is a modern high-performance open-source Quantum Monte Carlo (QMC) simulation code. Its main applications are electronic structure calculations of molecular, quasi-2D and solid-state systems. Variational Monte Carlo (VMC), diffusion Monte Carlo (DMC) and a number of other advanced QMC algorithms are implemented. Orbital space auxiliary field QMC (AFQMC) has recently been added. By directly solving the Schrodinger equation, QMC methods offer greater accuracy than methods such as density functional theory, but at a trade-off of much greater computational expense.
QMCPACK is written in C++ and designed with the modularity afforded by object-oriented programming. It makes extensive use of template metaprogramming to achieve high computational efficiency. Due to the modular architecture, the addition of new wavefunctions, algorithms, and observables is relatively straightforward. For parallelization QMCPACK utilizes a fully hybrid (OpenMP,CUDA)/MPI approach to optimize memory usage and to take advantage of the growing number of cores per SMP node or GPUs. High parallel and computational efficiencies are achievable on the largest supercomputers. Finally, QMCPACK utilizes standard file formats for input and output in XML and HDF5 to facilitate data exchange.
A partial list of capabilities is given here (Capabilities).
The original author of the code is Jeongnim Kim, now at Intel. Ken Esler, now at Stone Ridge Technology, wrote the initial CUDA GPU version. Many others have contributed, particularly students and postdocs in the groups of D. M. Ceperley and R. M. Martin at University of Illinois and more recently many staff at U.S. Department of Energy laboratories. See the coauthors of the QMCPACK citation paper, https://doi.org/10.1088/1361-648X/aab9c3
Highly active current developers include:
- Anouar Benali (ANL)
- Mark Dewing (ANL)
- Peter Doak (ORNL)
- Paul Kent (ORNL): Director of CPSFM and Principal Investigator of Exascale Applications Development project.
- Jaron Krogel (ORNL)
- Graham Lopez (ORNL)
- Ye Luo (ANL)
- Miguel Morales (LLNL)
- Eric Neuscamman (UC Berkeley)
- Luke Shulenburger (SNL)
The development of QMCPACK has been funded by
- U.S. Department of Energy, Office of Science, Basic Energy Sciences, Materials Sciences and Engineering Division, as part of the Computational Materials Sciences Program and Center for Predictive Simulation of Functional Materials.
The Exascale Computing Project (17-SC-20-SC), a collaborative effort of the US Department of Energy Office of Science and the National Nuclear Security Administration.
“Network for ab initio many-body methods: development, education and training“ supported through the Predictive Theory and Modeling for Materials and Chemical Science program by the Basic Energy Science, the U.S. Department of Energy (DOE).
QMC Endstation, supported by Accelerating Delivery of Petascale Computing Environment At the DOE Leadership Computing Facility at ORNL, DOE.
PetaApps, supported by the U. S. National Science Foundation.
- Materials Computational Center, supported by the U.S. National Science Foundation.
We also acknowledge the OLCF and ALCF for help and support in accessing their resources, as part of a DOE INCITE, ALCC and Director’s Discretionary allocation grants supported by US Department of Energy and NCSA, TACC and NICS for providing resources as a part of NSF TeraGrid/XSEDE allocation grants.