DOE OSTI · 2305820
Software engineering to sustain a high-performance computing scientific application: QMCPACK
Abstract
We provide an overview of the software engineering efforts and their impact in QMCPACK, a production-level ab-initio Quantum MonteCarlo open-source code targeting high-performance computing (HPC) systems. Aspects included are: (i) strategic expansion ofcontinuous integration (CI) targeting CPU, using GitHub Actions runners, and graphics processing units (GPU) in pre-exascalesystems, using self-hosted hardware; (ii) incremental reduction of memory leaks using sanitizers, (iii) incorporation of Dockercontainers 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.
Keep this discovery
Explore connections, maps & timelines
Godoy, William, Hahn, Steven, Walsh, Michael, Fackler, Philip, Krogel, Jaron, Doak, Peter W., Kent, Paul, Correa, Alfredo, Luo, Ye, Dewing, Mark. 2024-02-01. Software engineering to sustain a high-performance computing scientific application: QMCPACK. https://www.osti.gov/biblio/2305820
Cite the original work for its findings. Save a collection to share your selection of sources.