QMCPACK

QMCPACK
DevelopersOak 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 inC++ (C++17 standard)
Operating systemLinux, macOS
LicenseUniversity of Illinois/NCSA Open Source License
Websitewww.qmcpack.org
Repositorygithub.com/QMCPACK/qmcpack

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]

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:
  • 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]

References

  1. ^ Kim, Jeongnim; Baczewski, Andrew D; Beaudet, Todd D; Benali, Anouar; Bennett, M Chandler; Berrill, Mark A; Blunt, Nick S; Borda, Edgar Josué Landinez; Casula, Michele; Ceperley, David M; Chiesa, Simone; Clark, Bryan K; Clay, Raymond C; Delaney, Kris T; Dewing, Mark; Esler, Kenneth P; Hao, Hongxia; Heinonen, Olle; Kent, Paul R C; Krogel, Jaron T; Kylänpää, Ilkka; Li, Ying Wai; Lopez, M Graham; Luo, Ye; Malone, Fionn D; Martin, Richard M; Mathuriya, Amrita; McMinis, Jeremy; Melton, Cody A; Mitas, Lubos; Morales, Miguel A; Neuscamman, Eric; Parker, William D; Pineda Flores, Sergio D; Romero, Nichols A; Rubenstein, Brenda M; Shea, Jacqueline A R; Shin, Hyeondeok; Shulenburger, Luke; Tillack, Andreas F; Townsend, Joshua P; Tubman, Norm M; Van Der Goetz, Brett; Vincent, Jordan E; Yang, D ChangMo; Yang, Yubo; Zhang, Shuai; Zhao, Luning (16 May 2018). "QMCPACK : an open source ab initio quantum Monte Carlo package for the electronic structure of atoms, molecules and solids". Journal of Physics: Condensed Matter. 30 (19): 195901. arXiv:1802.06922. Bibcode:2018JPCM...30s5901K. doi:10.1088/1361-648X/aab9c3. PMID 29582782.
  2. ^ Kent, P. R. C.; Annaberdiyev, Abdulgani; Benali, Anouar; Bennett, M. Chandler; Landinez Borda, Edgar Josué; Doak, Peter; Hao, Hongxia; Jordan, Kenneth D.; Krogel, Jaron T.; Kylänpää, Ilkka; Lee, Joonho; Luo, Ye; Malone, Fionn D.; Melton, Cody A.; Mitas, Lubos; Morales, Miguel A.; Neuscamman, Eric; Reboredo, Fernando A.; Rubenstein, Brenda; Saritas, Kayahan; Upadhyay, Shiv; Wang, Guangming; Zhang, Shuai; Zhao, Luning; Malone, Fionn D; Martin, Richard M; Mathuriya, Amrita; McMinis, Jeremy; Melton, Cody A; Mitas, Lubos; Morales, Miguel A; Neuscamman, Eric; Parker, William D; Pineda Flores, Sergio D; Romero, Nichols A; Rubenstein, Brenda M; Shea, Jacqueline A R; Shin, Hyeondeok; Shulenburger, Luke; Tillack, Andreas F; Townsend, Joshua P; Tubman, Norm M; Van Der Goetz, Brett; Vincent, Jordan E; Yang, D ChangMo; Yang, Yubo; Zhang, Shuai; Zhao, Luning (7 May 2020). "QMCPACK: Advances in the development, efficiency, and application of auxiliary field and real-space variational and diffusion quantum Monte Carlo". The Journal of Chemical Physics. 152 (17) 174105. arXiv:2003.01831. Bibcode:2020JChPh.152q4105K. doi:10.1063/5.0004860. PMID 32384844.
  3. ^ Bennett, M. Chandler (26 August 2021). "High-accuracy electronic structure calculations with QMCPACK". Nature Reviews Physics. 3 (11): 725. Bibcode:2021NatRP...3..725B. doi:10.1038/s42254-021-00376-5.
  4. ^ Edwardson, Douglas (8 November 2022). "Discovering New Materials at Exascale Speed". Exascale Computing Project.
  5. ^ "Background | QMCPACK". qmcpack.org.
  6. ^ "QMCPACK". Exascale Computing Project.
  7. ^ Luo, Ye; Doak, Peter; Kent, Paul (November 2022). "A High-Performance Design for Hierarchical Parallelism in the QMCPACK Monte Carlo code". 2022 IEEE/ACM International Workshop on Hierarchical Parallelism for Exascale Computing (HiPar). pp. 22–27. doi:10.1109/HiPar56574.2022.00008. ISBN 978-1-6654-6345-4. OSTI 1963152.
  8. ^ Krogel, Jaron T. (January 2016). "Nexus: A modular workflow management system for quantum simulation codes". Computer Physics Communications. 198: 154–168. Bibcode:2016CoPhC.198..154K. doi:10.1016/j.cpc.2015.08.012. OSTI 1240529.
  9. ^ Della Pia, Flaviano; Shi, Benjamin X.; Al-Hamdani, Yasmine S.; Alfé, Dario; Anderson, Tyler A.; Barborini, Matteo; Benali, Anouar; Casula, Michele; Drummond, Neil D.; Dubecký, Matúš; Filippi, Claudia; Kent, Paul R. C.; Krogel, Jaron T.; López Ríos, Pablo; Lüchow, Arne; Luo, Ye; Michaelides, Angelos; Mitas, Lubos; Nakano, Kousuke; Needs, Richard J.; Per, Manolo C.; Scemama, Anthony; Schultze, Jil; Shinde, Ravindra; Slootman, Emiel; Sorella, Sandro; Tkatchenko, Alexandre; Towler, Mike; Umrigar, C. J.; Wagner, Lucas K.; Wheeler, William A.; Zhou, Haihan; Zen, Andrea (14 September 2025). "Reproducibility of fixed-node diffusion Monte Carlo across diverse community codes: The case of water–methane dimer". The Journal of Chemical Physics. 163 (10) 104110. arXiv:2501.12950. Bibcode:2025JChPh.163j4110D. doi:10.1063/5.0272974. PMID 40919967.