QMCPACK
Ab-initio code
From Wikipedia, the free encyclopedia
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..[1][2]
| QMCPACK | |
|---|---|
| Developers | Oak Ridge National Laboratory, Argonne National Laboratory, Sandia National Laboratories, University of Illinois Urbana-Champaign, et al. |
| Stable release | v4.2.0
/ February 12, 2026 |
| Written in | C++ (C++17 standard) |
| Operating system | Linux, macOS |
| License | University of Illinois/NCSA Open Source License |
| Website | www.qmcpack.org |
| Repository | github |
It is designed for high-performance computing (HPC) systems, utilizing hybrid parallelism (MPI/OpenMP) and supporting GPU acceleration (CUDA, HIP, SYCL).[3][4]
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.[5]
Development has continued under the U.S. Department of Energy's Exascale Computing Project (ECP),[6] 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:
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 [7].
- 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[8]: 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 [9]