FOTV: A Generic Device Offloading Framework for OpenMP

Autor: Pablo Sánchez, José Luis Vázquez
Přispěvatelé: Universidad de Cantabria
Rok vydání: 2021
Předmět:
Zdroj: OpenMP: Enabling Massive Node-Level Parallelism-17th International Workshop on OpenMP, IWOMP 2021, Bristol, UK, September 14–16, 2021, Proceedings
OpenMP: enabling massive node-level parallelism: proceedings 17th International Workshop on OpenMP, IWOMP 2021, Bristol, UK, 170-182
UCrea Repositorio Abierto de la Universidad de Cantabria
instname
OpenMP: Enabling Massive Node-Level Parallelism ISBN: 9783030852610
IWOMP
Lecture Notes in Computer Science
Lecture Notes in Computer Science-OpenMP: Enabling Massive Node-Level Parallelism
ISSN: 0302-9743
1611-3349
DOI: 10.1007/978-3-030-85262-7_12
Popis: Since the introduction of the “target” directive in the 4.0 specification, the usage of OpenMP for heterogeneous computing programming has increased significantly. However, the compiler support limits its usage because the code for the accelerated region has to be generated in compile time. This restricts the usage of accelerator-specific design flows (e.g. FPGA hardware synthesis) and the support of new devices that typically requires extending and modifying the compiler itself. This paper explores a solution to these limitations: a generic device that is supported by the OpenMP compiler but whose functionality is defined at runtime. The generic device framework has been integrated in an OpenMP compiler (LLVM/Clang). It acts as a device type for the compiler and interfaces with the physical devices to execute the accelerated code. The framework has an API that provides support for new devices and accelerated code without additional OpenMP compiler modifications. It also includes a code generator that extracts the source code of OpenMP target regions for external compilation chains. In order to evaluate the approach, we present a new device implementation that allows executing OpenCL code as an OpenMP target region. We study the overhead that the framework produces and show that it is minimal and comparable to other OpenMP devices. This work was done as part of the FitOptiVis project, funded by the ECSEL Joint Undertaking, grant H2020-ECSEL-2017–2-783162, and the Spanish MICINN, grant PCI2018–093057. It was partially funded by the Platino project, funded by the MICINN, grant TEC2017–86722-C4–3-R.
Databáze: OpenAIRE