Abstract
OpenCL is a widely adopted open standard for general purpose programming of diverse heterogeneous parallel platforms that can harness various device types such as CPUs, DSPs, GPUs, FPGAs and hardware accelerators. It is an extensive and explicit low level API serving well as a platform portability layer. However, using OpenCL for diverse heterogeneous programming in multi-vendor platforms is not practical due to device vendors each providing their own OpenCL implementations which do not interoperate efficiently, leading to inefficient execution coordination and collaborative execution between various device types from different vendors. To this end, this paper proposes a vendor-independent open source method for integration of custom FPGA components to a common OpenCL platform. The method relies on a streamlined memory-mapped hardware control interface implemented by the integrated components. The required OpenCL driver integration is then automatically provided, enabling easy inclusion of different types of FPGA accelerators to the control of a single OpenCL runtime. The ease of integration and portability is demonstrated by integrating two hardware devices in two different FPGA devices. The resource overhead of the hardware interface is shown to be negligible and the clock frequency overheads small enough to not pose efficiency challenges.
Original language | English |
---|---|
Title of host publication | 2021 IEEE Nordic Circuits and Systems Conference (NorCAS) |
Publisher | IEEE |
Number of pages | 7 |
ISBN (Electronic) | 978-1-6654-0712-0 |
ISBN (Print) | 978-1-6654-0713-7 |
DOIs | |
Publication status | Published - 2021 |
Publication type | A4 Article in conference proceedings |
Event | IEEE Nordic Circuits and Systems Conference - Duration: 26 Oct 2021 → 27 Oct 2021 |
Conference
Conference | IEEE Nordic Circuits and Systems Conference |
---|---|
Period | 26/10/21 → 27/10/21 |
Publication forum classification
- Publication forum level 1