- Main
Kokkos 3: Programming Model Extensions for the Exascale Era
- Trott, Christian R;
- Lebrun-Grandié, Damien;
- Arndt, Daniel;
- Ciesko, Jan;
- Dang, Vinh;
- Ellingwood, Nathan;
- Gayatri, Rahulkumar;
- Harvey, Evan;
- Hollman, Daisy S;
- Ibanez, Dan;
- Liber, Nevin;
- Madsen, Jonathan;
- Miles, Jeff;
- Poliakoff, David;
- Powell, Amy;
- Rajamanickam, Sivasankaran;
- Simberg, Mikael;
- Sunderland, Dan;
- Turcksin, Bruno;
- Wilke, Jeremiah
Published Web Location
https://doi.org/10.1109/tpds.2021.3097283Abstract
As the push towards exascale hardware has increased the diversity of system architectures, performance portability has become a critical aspect for scientific software. We describe the Kokkos Performance Portable Programming Model that allows developers to write single source applications for diverse high-performance computing architectures. Kokkos provides key abstractions for both the compute and memory hierarchy of modern hardware. We describe the novel abstractions that have been added to Kokkos version 3 such as hierarchical parallelism, containers, task graphs, and arbitrary-sized atomic operations to prepare for exascale era architectures. We demonstrate the performance of these new features with reproducible benchmarks on CPUs and GPUs.
Many UC-authored scholarly publications are freely available on this site because of the UC's open access policies. Let us know how this access is important for you.