Table of Contents
Fetching ...

QMCkl: A Kernel Library for Quantum Monte Carlo Applications

Emiel Slootman, Vijay Gopal Chilkuri, Aurelien Delval, Max Hoffer, Tommaso Gorni, François Coppens, Joris van de Nes, Ramón L. Panadés-Barrueta, Evgeny Posenitskiy, Abdallah Ammar, Edgar Josué Landinez Borda, Kevin Camus, Oto Kohulàk, Emmanuel Giner, Pablo de Oliveira Castro, Cedric Valensi, William Jalby, Claudia Filippi, Anthony Scemama

TL;DR

QMCkl tackles the challenge of running accurate quantum Monte Carlo (QMC) calculations efficiently by providing a modular kernel library that decouples algorithmic development from hardware-specific optimization. It combines pedagogical Fortran reference implementations with highly optimized C kernels, all accessible through a common C API to ensure identical numerical results across codes and architectures. The library covers essential building blocks—atomic and molecular orbitals, cusp corrections, Jastrow factors, inverses, and interatomic forces—and integrates TREXIO for standardized input, enabling reproducible, cross-code workflows and interoperability with deterministic quantum chemistry packages, such as Quantum Package. Across CHAMP, QMC=Chem, and Quantum Package, QMCkl delivers substantial speedups in energy and derivative evaluations and supports broader applications like orbital visualization and density analysis, paving the way for scalable, exascale-ready QMC software with reduced development effort and improved reproducibility.

Abstract

Quantum Monte Carlo (QMC) methods deliver highly accurate electronic structure calculations but are computationally intensive. The quantum Monte Carlo kernel library (QMCkl) provides a modular, portable collection of high-performance kernels implementing the core building blocks of QMC calculations. It offers a C-compatible API, supports the TREXIO standard for input, and covers essential QMC kernels including atomic and molecular orbitals, cusp corrections, Jastrow factor, and the necessary derivatives also to perform variational and structural optimization. QMCkl separates algorithmic development from hardware-specific tuning by combining human-readable reference implementations with performance-optimized kernels that produce identical numerical results. The library enables consistent, efficient, and reproducible simulations across different QMC codes and architectures, and achieves substantial speedups in the evaluation of the energy and its derivatives. Beyond QMC, QMCkl can accelerate deterministic quantum chemistry workflows and visualization tools, promoting cross-code interoperability and simplifying high-performance scientific software development.

QMCkl: A Kernel Library for Quantum Monte Carlo Applications

TL;DR

QMCkl tackles the challenge of running accurate quantum Monte Carlo (QMC) calculations efficiently by providing a modular kernel library that decouples algorithmic development from hardware-specific optimization. It combines pedagogical Fortran reference implementations with highly optimized C kernels, all accessible through a common C API to ensure identical numerical results across codes and architectures. The library covers essential building blocks—atomic and molecular orbitals, cusp corrections, Jastrow factors, inverses, and interatomic forces—and integrates TREXIO for standardized input, enabling reproducible, cross-code workflows and interoperability with deterministic quantum chemistry packages, such as Quantum Package. Across CHAMP, QMC=Chem, and Quantum Package, QMCkl delivers substantial speedups in energy and derivative evaluations and supports broader applications like orbital visualization and density analysis, paving the way for scalable, exascale-ready QMC software with reduced development effort and improved reproducibility.

Abstract

Quantum Monte Carlo (QMC) methods deliver highly accurate electronic structure calculations but are computationally intensive. The quantum Monte Carlo kernel library (QMCkl) provides a modular, portable collection of high-performance kernels implementing the core building blocks of QMC calculations. It offers a C-compatible API, supports the TREXIO standard for input, and covers essential QMC kernels including atomic and molecular orbitals, cusp corrections, Jastrow factor, and the necessary derivatives also to perform variational and structural optimization. QMCkl separates algorithmic development from hardware-specific tuning by combining human-readable reference implementations with performance-optimized kernels that produce identical numerical results. The library enables consistent, efficient, and reproducible simulations across different QMC codes and architectures, and achieves substantial speedups in the evaluation of the energy and its derivatives. Beyond QMC, QMCkl can accelerate deterministic quantum chemistry workflows and visualization tools, promoting cross-code interoperability and simplifying high-performance scientific software development.

Paper Structure

This paper contains 25 sections, 17 equations, 8 figures, 2 tables.

Figures (8)

  • Figure 1: Call structure of the QMCkl library.
  • Figure 2: Roofline performance model of the atomic-orbital computation kernels. The yellow dots represent the most time-consuming loops, while the cross indicates the average performance. Small dots correspond to less time-consuming loops.
  • Figure 3: Roofline performance model of the molecular-orbital computation kernels. The red and yellow markers correspond to the dominant computational loops, and the cross shows the average performance.
  • Figure 4: CPU time, in microseconds, needed to compute the adjugate of an $n \times n$ matrix using Intel MKL (dgetrf/dgetri), or QMCkl's specialized functions.
  • Figure 5: Roofline performance model of the full Jastrow-factor computation kernels, up to three-body terms. The red marker denotes the dominant sparse-matrix-multiplication loop in the three-body Jastrow, and yellow markers represent secondary loops. The cross shows the average performance.
  • ...and 3 more figures