Skip to content
Tim Germann edited this page Oct 11, 2018 · 20 revisions

Cabana - A Co-Designed Library for Exascale Particle Simulations

Cabana is a performance portable library for particle-based simulations. Applications include but are not limited to Molecular Dynamics (MD) with either short- and/or long-range interactions and various flavors of Particle-in-Cell (PIC) methods, including applications to fluid and solid mechanics and plasma physics. Cabana provides particle data structures, algorithms, and utilities to enable simulations on a variety of platforms including many-core architectures and GPUs.

Cabana is developed as part of the Co-Design Center for Particle Applications (CoPA) within the Exascale Computing Project (ECP) under the U.S. Department of Energy. CoPA is a multi-institutional project with developers from ORNL, LANL, SNL, LLNL, PPNL, and ANL.

Information on how to configure, build, and test Cabana on a variety of different computing platforms.

The Cabana programming guide covers core library concepts and directed examples of using the library API.

The Cabana library builds in AOSOA (array-of-struct-of-array) as the basic memory layout of particle data structure.

The Cabana library is built on the Kokkos library, which is a C++ Performance Portability Programming EcoSystem.

Breakdown of basic programming constructs for portable on-node parallelism.

The goal of benchmarks is to ensure high performance of the library infrastructure.

Clone this wiki locally