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: |
010302 applied physics
Computer science business.industry Offloading Design flow Symmetric multiprocessor system OpenMP 02 engineering and technology Directive computer.software_genre 01 natural sciences 020202 computer hardware & architecture Hardware synthesis Generic devices Embedded system 0103 physical sciences 0202 electrical engineering electronic engineering information engineering Code (cryptography) Compiler Heterogeneous computing Field-programmable gate array business computer Compile time |
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 |
Externí odkaz: |