Title: The Kokkos C++ Performance Portability Ecosystem
Abstract: The Kokkos C++ Performance Portability Ecosystem is a production-level solution for writing modern C++ applications in an hardware-agnostic way. It is part of the US Department of Energy’s Exascale Computing Project—the leading effort in the US to prepare the HPC community for the next generation of supercomputing platforms. It is now used by more than a hundred HPC projects, and Kokkos-based codes are running now regularly in production mode on half of the top ten supercomputers in the world. In this talk, we will provide a short overview of what the Kokkos Ecosystem provides, including its programming model, math kernels library, tools, and training resources, before diving deeper into the capabilities of the programming model. The presentation will introduce the core abstractions of Kokkos and how they are critical components of writing performance-portable code. The primary elements of its API will be presented with code examples to provide an idea of the look and feel of typical Kokkos code. Performance results of a few selected apps comparing different architectures will be shown as evidence that true performance portability can be achieved. Last but not least, the talk will provide an overview of the Kokkos team’s efforts surrounding the ISO-C++ standard, and how Kokkos both influences future standards and aligns with developments occurring in it.