Particle-based simulation approaches are ubiquitous in computational science and engineering. In each case, every particle interacts with its environment by direct particle-particle interactions at shorter ranges and/or the particle-mesh interactions between a particle and a local field that is set up by longer-range effects.
In this project we are partnering with ECP Applications teams to create co-designed numerical “recipes” for particle-based methods that meet their requirements within the design space of software technologies and subject to the constraints of ECP hardware.
We will develop best practices in code portability, data layout and movement, and performance optimization. To ensure their broad adoption, we will partner with selected Software Technology teams to co-design and develop sustainable, productive and interoperable numerical methods, scientific libraries, toolkits, programming models/runtimes and other technologies required by particle- based application developers, both within ECP and the broader community, with the end goal of creating scalable open exascale software platforms suitable for use by a variety of particle-based simulations.
To execute this vision, we have identified four key submotifs of particle-based simulation codes around which our efforts are organized:
- Short-range particle-particle interactions of classical molecular dynamics and N-body methods
- Long-range particle-particle interactions of classical MD and N-body methods
- Particle-cell interactions (and related long-range solvers) of particle-in-cell methods
- Additional sparse matrix and graph operations introduced by linear-scaling quantum molecular dynamimcs methods.