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

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: 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
Publié: 2023
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_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