Capítulo de livro Revisado por pares

OpenMP Dynamic Device Offloading in Heterogeneous Platforms

2019; Springer Science+Business Media; Linguagem: Inglês

10.1007/978-3-030-28596-8_8

ISSN

1611-3349

Autores

A. Carrillo Álvarez, I. Ugarte, Víctor Fernández, Pablo Sánchez,

Tópico(s)

Advancements in Semiconductor Devices and Circuit Design

Resumo

Heterogeneous architectures which integrate general purpose CPUs with specialized accelerators such as GPUs and FPGAs are becoming very popular since they achieve greater performance/energy trade-offs than CPU-only architectures. To support this trend, the OpenMP standard has introduced a set of offloading constructs that enable to execute code fragments in accelerator devices. The current offloading model heavily depends on the compiler supporting each target device, with many architectures still unsupported by the most popular compilers (e.g. GCC and Clang). In this article, we introduce a new methodology for offloading OpenMP annotated code to accelerator devices. In our proposal, the software compilation and/or hardware synthesis processes to program the accelerator are independent from the host OpenMP compiler. As a consequence, multiple device architectures can be easily supported through their specific compiler/design tools. Also, the designer is able to manually optimize the original offloaded code or provide an alternative input to the design flow (e.g. VHDL/Verilog or third party IP cores for FPGA), thus leading to an effective speed-up of the application. In order to enable the proposed methodology, a powerful runtime infrastructure that dynamically loads and manages the available device-specific implementations has been developed.

Referência(s)