Kokkos: Performance Portability for the Exascale Era
Speaker: Christian Trott, Sandia National Laboratories
Presentation
Seminar Slide Deck (PDF-4.9MB)
Abstract
The exascale computing era has started and brought with it new challenges for high performance computing (HPC) applications. One of the biggest challenges is the diversity of hardware and vendor programming models. While all of the available or announced exascale class systems use GPUs, they leverage technology from different vendors. In the US, the Department of Energy (DOE) purchased three machines – two using AMD GPUs and one using Intel GPUs, while Europe is installing systems with GPUs from NVIDIA. To be able to use the vendor toolchain on each machine, one has to support NVIDIA’s CUDA, AMD’s HIP and Intel’s OneAPI (SYCL) programming model.
Kokkos provides a unified programming model which can target all these architectures and others, using the primary vendor toolchains. It provides an interface that leads to more maintainable and productive code than the vendor programming models, and guides users to write performance portable algorithms. Having seen significant community growth during its time as part of the DOE Exascale Computing Project, Kokkos is now used at more than 160 organizations in the world by thousands of developers. Its usage spans everything from classical HPC such as computational fluid dynamics or molecular dynamics simulations, data analytics in the radio astronomy community, to embedded applications in robotics.
This talk will provide an overview of Kokkos and its community, explain why one might want to leverage it, and discuss its future directions.
Biography