DOE OSTI · 2441091
Software stewardship and advancement of a high-performance computing scientific application: QMCPACK
Abstract
Here, 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 own runners, and NVIDIA and AMD GPUs used in pre-exascale systems, (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, 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 stewardship and advancement of community HPC codes to enable scientific discovery at scale.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
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. 2024-08-31. Software stewardship and advancement of a high-performance computing scientific application: QMCPACK. https://doi.org/10.1016/j.future.2024.107502
Cite the original work for its findings. Save a collection to share your selection of sources.