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

357 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