TY - JOUR
T1 - Kokkos 3
T2 - Programming Model Extensions for the Exascale Era
AU - Trott, Christian R.
AU - Lebrun-Grandie, Damien
AU - Arndt, Daniel
AU - Ciesko, Jan
AU - Dang, Vinh
AU - Ellingwood, Nathan
AU - Gayatri, Rahulkumar
AU - Harvey, Evan
AU - Hollman, Daisy S.
AU - Ibanez, Dan
AU - Liber, Nevin
AU - Madsen, Jonathan
AU - Miles, Jeff
AU - Poliakoff, David
AU - Powell, Amy
AU - Rajamanickam, Sivasankaran
AU - Simberg, Mikael
AU - Sunderland, Dan
AU - Turcksin, Bruno
AU - Wilke, Jeremiah
N1 - Publisher Copyright:
© 1990-2012 IEEE.
PY - 2022/4/1
Y1 - 2022/4/1
N2 - 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.
AB - 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.
KW - Performance portability
KW - exascale
KW - heterogeneous computing
KW - high-performance computing
KW - programming models
UR - http://www.scopus.com/inward/record.url?scp=85110902210&partnerID=8YFLogxK
U2 - 10.1109/TPDS.2021.3097283
DO - 10.1109/TPDS.2021.3097283
M3 - Article
AN - SCOPUS:85110902210
SN - 1045-9219
VL - 33
SP - 805
EP - 817
JO - IEEE Transactions on Parallel and Distributed Systems
JF - IEEE Transactions on Parallel and Distributed Systems
IS - 4
ER -