Publication | Open Access
Kokkos 3: Programming Model Extensions for the Exascale Era
439
Citations
12
References
2021
Year
Cluster ComputingHeterogeneous ComputingEngineeringComputer ArchitectureSoftware EngineeringHigh Performance ComputingSoftware AnalysisHigh-performance ArchitectureParallel ComputingExascale Era ArchitecturesMassively-parallel ComputingFormal ModelingComputer EngineeringComputer ScienceHierarchical ParallelismExtensible LanguageKokkos 3Software DesignProgram AnalysisCloud ComputingObject-oriented ProgrammingParallel ProgrammingPerformance PortabilitySystem Software
Exascale hardware diversity makes performance portability essential, and Kokkos offers key abstractions for modern compute and memory hierarchies. The paper presents the Kokkos Performance Portable Programming Model, detailing new abstractions in version 3—hierarchical parallelism, containers, task graphs, and arbitrary‑sized atomic operations—to enable single‑source applications across diverse HPC architectures. They implement these abstractions in Kokkos and evaluate them with reproducible CPU and GPU benchmarks. The benchmarks demonstrate that the new features perform well on both CPUs and GPUs.
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1