Cooperative CPU, GPU, and FPGA heterogeneous execution with EngineCL
Ver/ Abrir
Registro completo
Mostrar el registro completo DCAutoría
Dávila Guzmán, María Angélica; Nozal, Raúl

Fecha
2019-03Derechos
© Springer Science+Business Media, LLC, part of Springer Nature 2019. This version of the article has been accepted for publication, after peer review (when applicable) and is subject to Springer Nature's AM terms of use, but is not the Version of Record and does not reflect post-acceptance improvements, or any corrections. The Version of Record is available online at: http://dx.doi.org/10.1007/s11227-019-02768-y
Publicado en
Journal of Supercomputing, 2019, 75(3), 1732-1746
Editorial
Kluwer Academic Publishers
Enlace a la publicación
Palabras clave
Heterogeneous scheduling
FPGA
Load Balancing
OpenCL
Resumen/Abstract
Heterogeneous systems are the core architecture of most of the high-performance computing nodes, due to their excellent performance and energy efficiency. However, a key challenge that remains is programmability, specifically, releasing the programmer from the burden of managing data and devices with different architectures. To this end, we extend EngineCL to support FPGA devices. Based on OpenCL, EngineCL is a high-level framework providing load balancing among devices. Our proposal fully integrates FPGAs into the framework, enabling effective cooperation between CPU, GPU, and FPGA. With command overlapping and judicious data management, our work improves performance by up to 96% compared with single-device execution and delivers energy-delay gains of up to 37%. In addition, adopting FPGAs does not require programmers to make big changes in their applications because the extensions do not modify the user-facing interface of EngineCL.
Colecciones a las que pertenece
- D30 Artículos [97]
- D30 Proyectos de Investigación [116]