A methodology for efficient use of OpenCL, ESL and FPGAs in multi-core architectures

  • Authors:
  • Alexandros Bartzas;George Economakos

  • Affiliations:
  • School of Electrical and Computer Engineering, Microprocessors and Digital Systems Laboratory, National Technical University of Athens, Zografou, Athens, Greece;School of Electrical and Computer Engineering, Microprocessors and Digital Systems Laboratory, National Technical University of Athens, Zografou, Athens, Greece

  • Venue:
  • Euro-Par'12 Proceedings of the 18th international conference on Parallel processing workshops
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

OpenCL has been proposed as an open standard for application development in heterogeneous multi-core architectures, utilizing different CPU, DSP and GPU types and configurations. Recently, the technological advances in FPGA devices has turned the parallel processing community towards them. However, FPGA programming requires expertise in a different field as well as the appropriate tools and methodologies. A feasible solution introduced recently is the adoption of ESL and high-level synthesis methodologies, supporting FPGA programming from C/C++. Based on high-level synthesis, this paper presents a methodology to use OpenCL as an FPGA programming environment. Specifically, the opportunities as well as the obstacles imposed to the application developer by the FPGA computing platform and the adoption of C/C++ as input language are presented, and a systematic way to explore both data level and thread level parallelism is given. The resulting methodology can be used for the deployment of parallel applications over a wide range of diverse CPU, DSP, GPU and FPGA multi-core configurations.