Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Kokkos 3: Programming Model Extensions for the Exascale Era

Journal Article · · IEEE Transactions on Parallel and Distributed Systems
 [1];  [2];  [2];  [1];  [1];  [1];  [3];  [1];  [1];  [1];  [4];  [3];  [1];  [1];  [1];  [1];  [5];  [1];  [2];  [6]
  1. Sandia National Lab. (SNL-NM), Albuquerque, NM (United States)
  2. Oak Ridge National Lab. (ORNL), Oak Ridge, TN (United States)
  3. Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)
  4. Argonne National Lab. (ANL), Lemont, IL (United States)
  5. Swiss National Supercomputing Centre, Lugano (Switzerland)
  6. Sandia National Lab. (SNL-CA), Livermore, CA (United States)

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. Here, we describe the novel abstractions that have been added to Kokkos recently such as hierarchical parallelism, containers, task graphs, and arbitrary-sized atomic operations. We demonstrate the performance of these new features with reproducible benchmarks on CPUs and GPUs.

Research Organization:
Sandia National Lab. (SNL-NM), Albuquerque, NM (United States); Lawrence Berkeley National Laboratory (LBNL), Berkeley, CA (United States); Oak Ridge National Laboratory (ORNL), Oak Ridge, TN (United States)
Sponsoring Organization:
USDOE National Nuclear Security Administration (NNSA); USDOE Office of Science (SC), Advanced Scientific Computing Research (ASCR)
Grant/Contract Number:
NA0003525; AC05-00OR22725; AC02-05CH11231
OSTI ID:
1825555
Alternate ID(s):
OSTI ID: 1822222; OSTI ID: 1825556; OSTI ID: 1829069; OSTI ID: 1867786
Report Number(s):
SAND-2021-7666J; 697015
Journal Information:
IEEE Transactions on Parallel and Distributed Systems, Vol. 33, Issue 4; ISSN 1045-9219
Publisher:
IEEECopyright Statement
Country of Publication:
United States
Language:
English

References (14)

K-Athena: A Performance Portable Structured Grid Finite Volume Magnetohydrodynamics Code journal January 2021
Kokkos implementation of an Ewald Coulomb solver and analysis of performance portability journal April 2020
A comparative analysis of Kokkos and SYCL as heterogeneous, parallel programming models for C++ applications conference May 2019
Assessing the performance portability of modern parallel programming models using TeaLeaf: Assessing the performance portability of modern parallel programming models using Tealeaf
  • Martineau, Matthew; McIntosh-Smith, Simon; Gaudin, Wayne
  • Concurrency and Computation: Practice and Experience, Vol. 29, Issue 15 https://doi.org/10.1002/cpe.4117
journal March 2017
RAJA: Portable Performance for Large-Scale Scientific Applications conference November 2019
Tiling-Based Programming Model for Structured Grids on GPU Clusters
  • Bastem, Burak; Unat, Didem
  • HPCAsia2020: International Conference on High Performance Computing in Asia-Pacific Region, Proceedings of the International Conference on High Performance Computing in Asia-Pacific Region https://doi.org/10.1145/3368474.3368485
conference January 2020
Implementing molecular dynamics on hybrid high performance computers – Particle–particle particle-mesh journal March 2012
HOMMEXX 1.0: a performance-portable atmospheric dynamical core for the Energy Exascale Earth System Model journal January 2019
Scalable Coordination of Hierarchical Parallelism
  • Devadas, Vinay; Curtis-Maury, Matthew
  • ICPP '20: 49th International Conference on Parallel Processing, 49th International Conference on Parallel Processing - ICPP https://doi.org/10.1145/3404397.3404398
conference August 2020
Performance Portability across Diverse Computer Architectures conference November 2019
Kokkos: Enabling manycore performance portability through polymorphic memory access patterns journal December 2014
Performance Portability of a Multiphysics Finite Element Code conference June 2018
A Portable SIMD Primitive Using Kokkos for Heterogeneous Architectures book January 2020
Hierarchical gather/scatter algorithms with graceful degradation conference January 2004

Similar Records

Kokkos 3: Programming Model Extensions for the Exascale Era
Journal Article · 2021 · IEEE Transactions on Parallel and Distributed Systems · OSTI ID:1867786

Kokkos 3: Programming Model Extensions for the Exascale Era
Journal Article · 2021 · IEEE Transactions on Parallel and Distributed Systems · OSTI ID:1822222

Data Locality Enhancement of Dynamic Simulations for Exascale Computing (Final Report)
Technical Report · 2019 · OSTI ID:1576175