Kokkidio: Fast, expressive, portable code, based on Kokkos and Eigen
Chair of Water Resources Management and Modeling of Hydrosystems, Technische Universität Berlin, Berlin, Germany
SSRN, 2024
@article{steffen2024kokkidio,
title={Kokkidio: Fast, expressive, portable code, based on Kokkos and Eigen},
author={Steffen, Lennart and Hinkelmann, Reinhard},
journal={Expressive, Portable Code, Based on Kokkos and Eigen},
year={2024}
}
Kokkidio is a newly developed C++ template library that combines the performance portability framework Kokkos and its strength in utilising GPUs with the expressive syntax and CPU optimisations of the linear algebra library Eigen. Its unified abstractions enable both simple data management as well as clear, succinct compute code in kernel functors, where a novel iteration/functor parameter performs target-specific grouping of operations. This preserves Eigen’s loop abstractions, enabling explicit vectorisation of host code. A comprehensive evaluation across GPUs and CPUs by all major vendors shows Kokkidio providing significantly improved performance portability over Kokkos. With the fraction of best observed runtime as the efficiency metric, Kokkidio achieves a near-optimal harmonic mean of 0.95, compared to Kokkos’ 0.59 across all microbenchmarks and tested hardware, effectively merging Kokkos’ GPU and Eigen’s CPU performance into one framework.
November 17, 2024 by hgpu