Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

KokkACC: Enhancing Kokkos with OpenACC

Conference ·

Template metaprogramming is gaining popularity as a high-level solution for achieving performance portability on heterogeneous computing resources. Kokkos is a representative approach that offers programmers high-level abstractions for generic programming while most of the device-specific code generation and optimizations are delegated to the compiler through template specializations. For this, Kokkos provides a set of device-specific code specializations in multiple back ends, such as CUDA and HIP. Unlike CUDA or HIP, OpenACC is a high-level and directive-based programming model. This descriptive model allows developers to insert hints (pragmas) into their code that help the compiler to parallelize the code. The compiler is responsible for the transformation of the code, which is completely transparent to the programmer. This paper presents an OpenACC back end for Kokkos: KokkACC. As an alternative to Kokkos’s existing device-specific back ends, KokkACC is a multi-architecture back end providing a high-productivity programming environment enabled by OpenACC’s high-level and descriptive programming model. Moreover, we have observed competitive performance; in some cases, KokkACC is faster (up to 9×) than NVIDIA’s CUDA back end and much faster than OpenMP’s GPU offloading back end. This work also includes implementation details and a detailed performance study conducted with a set of mini-benchmarks (AXPY and DOT product) and three mini-apps (LULESH, miniFE and SNAP, a LAMMPS proxy mini-app).

Research Organization:
Oak Ridge National Laboratory (ORNL), Oak Ridge, TN (United States)
Sponsoring Organization:
USDOE
DOE Contract Number:
AC05-00OR22725
OSTI ID:
2000279
Country of Publication:
United States
Language:
English

Similar Records

Enhancing Kokkos with OpenACC
Journal Article · Sun Jun 01 00:00:00 EDT 2014 · The International Journal of High Performance Computing Applications · OSTI ID:2439861

sKokkos: Enabling Kokkos with Transparent Device Selection on Heterogeneous Systems using OpenACC
Conference · Sun Dec 31 23:00:00 EST 2023 · OSTI ID:2438755

Kokkos GPU Compiler
Software · Fri Jul 15 00:00:00 EDT 2016 · OSTI ID:1310548

Related Subjects