skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: 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
Resource Relation:
Conference: Workshop on Accelerator Programming and Directives (WACCPD 2022) - Dallas, Texas, United States of America - 11/18/2022 5:00:00 AM-
Country of Publication:
United States
Language:
English

Similar Records

Evaluation of OpenAI Codex for HPC Parallel Programming Models Kernel Generation
Conference · Tue Aug 01 00:00:00 EDT 2023 · OSTI ID:2000279

Kokkos: Enabling manycore performance portability through polymorphic memory access patterns
Journal Article · Tue Jul 22 00:00:00 EDT 2014 · Journal of Parallel and Distributed Computing · OSTI ID:2000279

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

Related Subjects