November 2023

Journal

Kokkos 3: Programming Model Extensions for the Exascale Era

By:
Trott, Christian; Lebrun-Grandie, Damien T; Arndt, Daniel ; Ciesko, Jan; Hollman, Daisy; Ellingwood, Nathan; Gayatri, Rahulkumar; Harvey, Evan; Ibanez, Daniel; Liber, Nevin; Madsen, Jonathan; Miles, Jeff; Poliakoff, David; Powell, Amy; Rajamanickam, Siva; Simberg, Mikael; Sunderland, Daniel; Turcksin, Bruno ; Wilke, Jeremiah
Journal Name:
IEEE Transactions on Parallel and Distributed Systems
Page Number:
805-817
Volume:
33
Issue Number:
4
Publication Date:
November 9, 2023
View DOI Listing:
https://doi.org/10.1109/MCSE.2021.3098509

Abstract

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.