Challenges Porting a C++ Template-Metaprogramming Abstraction Layer to Directive-based Offloading

Autor: Jeffrey Kelling, Sergei Bastrakov, Alexander Debus, Thomas Kluge, Matt Leinhauser, Richard Pausch, Klaus Steiniger, Jan Stephan, René Widera, Jeff Young, Michael Bussmann, Sunita Chandrasekaran, Guido Juckeland
Jazyk: angličtina
Rok vydání: 2021
Předmět:
Zdroj: 8th International Workshop, WACCPD 2021, 14.11.2021, St. Louis, USAAccelerator Programming Using Directives, Cham: Springer, 978-3-030-97758-0
Accelerator Programming Using Directives ISBN: 9783030977580
Eighth Workshop on Accelerator Programming Using Directives (WACCPD) @SC21, 14.11.2021, St. Louis, USA
Popis: HPC systems employ a growing variety of compute accelerators with different architectures and from different vendors. Large scientific applications are required to run efficiently across these systems but need to retain a single code-base in order to not stifle development. Directive-based offloading programming models set out to provide the required portability, but, to existing codes, they themselves represent yet another API to port to. Here, we present our approach of porting the GPU-accelerated particle-in-cell code PIConGPU to OpenACC and OpenMP target by adding two new backends to its existing C++-template metaprogramming-based offloading abstraction layer alpaka and avoiding other modifications to the application code. We introduce our approach in the face of conflicts between requirements and available features in the standards as well as practical hurdles posed by immature compiler support.
20 pages, 1 figure, 3 tables, WACCPD@SC21
Databáze: OpenAIRE