QMCPACK is an open-source ab initio Quantum Monte Carlo (QMC) software package for calculating the electronic structure of atoms, molecules, and solids. It implements many-body methods, including Variational Monte Carlo (VMC), Diffusion Monte Carlo (DMC), and Auxiliary-Field Quantum Monte Carlo (AFQMC), to solve the Schrödinger equation. It is designed for high-performance computing (HPC) systems, utilizing hybrid parallelism (MPI/OpenMP) and supporting GPU acceleration (CUDA, HIP, SYCL).
History Development of QMCPACK began in the late 2000s, led by Jeongnim Kim in the research group of David Ceperley at the University of Illinois Urbana-Champaign (UIUC). The software was designed from the outset as a modular C++ framework to facilitate development and performance on emerging high-performance computing (HPC) architectures. Development has continued under the U.S. Department of Energy's Exascale Computing Project (ECP), involving researchers from Oak Ridge National Laboratory (ORNL), Argonne National Laboratory (ANL), and other institutions. This effort focused on porting the code to heterogeneous architectures (GPUs) and scaling to systems like Frontier and Aurora.
Features
Methods QMCPACK implements several stochastic methods to sample the many-body wavefunction:
Variational Monte Carlo (VMC) Diffusion Monte Carlo (DMC) Auxiliary-Field Quantum Monte Carlo (AFQMC) Reptation Monte Carlo
Systems and wavefunctions The software supports systems from isolated molecules to periodic 2D and 3D solids. It utilizes trial wavefunctions, including:
Single and multi-determinant Slater-Jastrow wavefunctions Spin-orbit coupling supported via specific spinors and effective core potentials Backflow wavefunctions/transformations One, two, and three-body Jastrow factors Excited state calculations via flexible occupancy assignment of Slater determinants All electron and non-local pseudopotential calculations Support for twist boundary conditions and calculations on metals Gaussian, Slater, plane-wave, and real-space spline basis sets for orbitals
Parallelism and performance MPI/OpenMP: Hybrid parallelization scheme for multicore CPUs. GPU Acceleration: Fully portable GPU support via specialized drivers for NVIDIA (CUDA), AMD (HIP), and Intel (SYCL) hardware . I/O: Utilizes HDF5 for efficient parallel input/output of large wavefunction data and XML for input parameters.
Workflow and interoperability Workflow and Interoperability QMCPACK provides a suite of converters and interfaces to import trial wavefunctions generated by external electronic structure codes:
Quantum ESPRESSO: Direct support for plane-wave wavefunctions is provided via the pw2qmcpack addon. This converter exports orbitals from Quantum ESPRESSO's PWSCF module into an HDF5 format readable by QMCPACK. Gaussian-basis Codes: The convert4qmc tool provides a unified interface for converting Gaussian-basis wavefunctions from several major packages, including: PySCF GAMESS (US) Quantum Package (QP) Nexus: A Python-based workflow management system bundled with QMCPACK. Nexus automates the entire simulation pipeline, managing the execution of the external DFT/Hartree-Fock code, the subsequent conversion step, and the final QMCPACK simulation.
Validation and benchmarking QMCPACK has been included in community-wide cross-code benchmark efforts assessing the reproducibility of fixed-node diffusion Monte Carlo across multiple independent implementations
References

