Back to Search Start Over

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

Authors :
Godoy, William F.
Hahn, Steven E.
Walsh, Michael M.
Fackler, Philip W.
Krogel, Jaron T.
Doak, Peter W.
Kent, Paul R. C.
Correa, Alfredo A.
Luo, Ye
Dewing, Mark
Publication Year :
2023

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.<br />Comment: Accepted at the first US-RSE Conference, USRSE2023, https://us-rse.org/usrse23/, 8 pages, 3 figures, 4 tables

Details

Database :
arXiv
Publication Type :
Report
Accession number :
edsarx.2307.11502
Document Type :
Working Paper
Full Text :
https://doi.org/10.5281/zenodo.10420938