Kokkos 3: Programming Model Extensions for the Exascale Era

Christian R. Trott, Damien Lebrun-Grandie, Daniel Arndt, Jan Ciesko, Vinh Dang, Nathan Ellingwood, Rahulkumar Gayatri, Evan Harvey, Daisy S. Hollman, Dan Ibanez, Nevin Liber, Jonathan Madsen, Jeff Miles, David Poliakoff, Amy Powell, Sivasankaran Rajamanickam, Mikael Simberg, Dan Sunderland, Bruno Turcksin, Jeremiah Wilke

Research output: Contribution to journalArticlepeer-review

210 Scopus citations

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.

Original languageEnglish
Pages (from-to)805-817
Number of pages13
JournalIEEE Transactions on Parallel and Distributed Systems
Volume33
Issue number4
DOIs
StatePublished - Apr 1 2022

Keywords

  • Performance portability
  • exascale
  • heterogeneous computing
  • high-performance computing
  • programming models

Fingerprint

Dive into the research topics of 'Kokkos 3: Programming Model Extensions for the Exascale Era'. Together they form a unique fingerprint.

Cite this