English

Software engineering to sustain a high-performance computing scientific application: QMCPACK

Software Engineering 2024-02-15 v1 Distributed, Parallel, and Cluster Computing Computational Physics

Abstract

We provide an overview of the software engineering efforts and their impact in QMCPACK, a production-level ab-initio Quantum Monte Carlo open-source code targeting high-performance computing (HPC) systems. Aspects included are: (i) strategic expansion of continuous integration (CI) targeting CPUs, using GitHub Actions runners, and NVIDIA and AMD GPUs in pre-exascale systems, using self-hosted hardware; (ii) incremental reduction of memory leaks using sanitizers, (iii) incorporation of Docker containers for CI and reproducibility, and (iv) refactoring efforts to improve maintainability, testing coverage, and memory lifetime management. We quantify the value of these improvements by providing metrics to illustrate the shift towards a predictive, rather than reactive, sustainable maintenance approach. Our goal, in documenting the impact of these efforts on QMCPACK, is to contribute to the body of knowledge on the importance of research software engineering (RSE) for the sustainability of community HPC codes and scientific discovery at scale.

Keywords

Cite

@article{arxiv.2307.11502,
  title  = {Software engineering to sustain a high-performance computing scientific application: QMCPACK},
  author = {William F. Godoy and Steven E. Hahn and Michael M. Walsh and Philip W. Fackler and Jaron T. Krogel and Peter W. Doak and Paul R. C. Kent and Alfredo A. Correa and Ye Luo and Mark Dewing},
  journal= {arXiv preprint arXiv:2307.11502},
  year   = {2024}
}

Comments

Accepted at the first US-RSE Conference, USRSE2023, https://us-rse.org/usrse23/, 8 pages, 3 figures, 4 tables

R2 v1 2026-06-28T11:36:52.262Z