Cabana Tutorial

This tutorial was held on April 12, 2021, as part of the 2021 ECP Annual Meeting.

This tutorial explained the design and use of the CoPA developed Cabana Particle Simulation Toolkit and provided hands-on exercises in the form of simple examples and proxy applications. A full description of the library, connections to other ECP projects, and existing use cases began the session. Cabana uses Kokkos for on-node performance portability, extending to particle-specific sub-motifs, and MPI for multi-node simulations. Cabana provides capabilities for nearly all particle-based applications: neighbor list generation, particle redistribution, halo exchange, particle-grid interpolation, and more. A hands-on, interactive walk-through of the tutorial available within the Cabana repository introduced users to the library. Descriptions and code demonstrations of current use cases, including both proxy apps and production code kernels, exemplified what can be done with Cabana. Key design decisions for performance was an emphasis of this last section.