8 research outputs found
A physics-based adaptive point distribution method for computational domain discretization
Two algorithms are presented which together generate well-spaced point distributions applied to curves, surfaces, and the volume of a computational domain. The first is a force equilibrium simulation which applies a simplified direct solution of the equations of motion at each node. Inter-nodal pair forces are computed based on the desired spacing between nodes and summed to provide a net force on each node. The nodes are allowed to travel a restricted distance with each locally distinct time step. The motion of the point distribution is stabilized by applying friction to each node from its neighboring nodes as well as globally restricting the time step size over the series of iterations. Second, an algorithm for node population adaptation is presented which deletes nodes or inserts new nodes depending on how well the local concentration of nodes matches a desired local spacing prescription, or spacing field. Experimental results are provided which demonstrate the ability of these algorithms to generate smooth distributions of points matching various spacing field function definitions
Software engineering to sustain a high-performance computing scientific application: QMCPACK
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.Comment: Accepted at the first US-RSE Conference, USRSE2023,
https://us-rse.org/usrse23/, 8 pages, 3 figures, 4 table