Kokkos 3: Programming Model Extensions for the Exascale Era 论文

2021IEEE Transactions on Parallel and Distributed Systems引用 460
Parallel Computing and Optimization TechniquesDistributed and Parallel Computing SystemsAdvanced Data Storage Technologies

摘要

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.