Cabana: A Performance Portable Library forParticle-Based Simulations
Stuart Slattery, Samuel Temple Reeve, Christoph Junghans, Damien Lebrun-Grandié, Robert Bird, Guangye Chen, Shane Fogerty, Yuxing Qiu, Stephan Schulz, Aaron Scheinberg, Austin B. Isner, Kwitae Chong, Stan Moore, Timothy C. Germann, James Belak, Susan M. Mniszewski
Abstract
Particle-based simulations are ubiquitous throughout many fields of computational science and engineering, spanning the atomistic level with molecular dynamics (MD), to mesoscale particle-in-cell (PIC) simulations for solid mechanics, device-scale modeling with PIC methods for plasma physics, and massive N-body cosmology simulations of galaxy structures, with many other methods in between While these methods use particles to represent significantly different entities with completely different physical models, many low-level details are shared including performant algorithms for short-and/or long-range particle interactions, multi-node particle communication patterns, and other data management tasks such as particle sorting and neighbor list construction.