Skip to content

2 Programming Guide

Sam Reeve edited this page Sep 15, 2023 · 6 revisions

NOTE: The information on these pages attempts to stay up to date with latest release of the library. Please open an issue if something is misleading or could be improved.

The Cabana programming guide covers core concepts and directed examples of using the library API. Cabana is built on Kokkos - understanding of Kokkos concepts and syntax is a necessary prerequisite (Kokkos wiki). Other optional libraries are used for specific purposes within Cabana as shown in the figure below, each with a separate tutorial example. Cabana software stack

Some relevant similarities and differences between Cabana and Kokkos are noted here.

Core Package

Note: these are likely best understood in this order.

Grid

Optional grid and particle-grid infrastructure is also included in Cabana.

Originally a separate library called Cajita, the Cabana::Grid subpackage provides logically rectilinear grids, algorithms and parallel iteration over those grids, and particle-grid algorithms.

Clone this wiki locally