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

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: 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
Format: Preprint
Veröffentlicht: 2023
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866910330146258944
author 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
author_facet 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
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2307_11502
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle Software engineering to sustain a high-performance computing scientific application: QMCPACK
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
Software Engineering
Distributed, Parallel, and Cluster Computing
Computational Physics
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.
title Software engineering to sustain a high-performance computing scientific application: QMCPACK
topic Software Engineering
Distributed, Parallel, and Cluster Computing
Computational Physics
url https://arxiv.org/abs/2307.11502