Exploration of OpenCL for FPGAs using SDAccel and comparison to GPUs and multicore CPUs

Research output: Contribution to book/conference proceedings/anthology/reportConference contributionContributedpeer-review

Contributors

Abstract

Due to energy efficiency, heterogeneous computing is gaining more and more attention. Since FPGA implementations are time consuming, high-level synthesis (HLS) is used to close the productivity gap. OpenCL has become accepted as a good programming model for HLS, due to its portability, good capability of design verification and rich instruction set. This work implements different optimization strategies using OpenCL for a heterogeneous system containing CPU, integrated GPU, GPU and FPGA. Energy efficiency and performance of the architectures are compared using a feature detection algorithm. It is shown how to maximize performance while hitting the maximum memory bandwidth and keeping the resource utilization low for the SDAccel tool from Xilinx. The evaluation shows the great streaming capability of OpenCL for FPGAs. The FPGA achieves a speed up of 62.8 and consumes 49 times less energy for the application in comparison to an optimized single threaded CPU implementation in full HD.

Details

Original languageEnglish
Title of host publication2017 27th International Conference on Field Programmable Logic and Applications (FPL)
PublisherIEEE Xplore
Number of pages4
ISBN (electronic)978-9-0903-0428-1
ISBN (print)978-1-5386-2040-3
Publication statusPublished - 2017
Peer-reviewedYes

External IDs

Scopus 85034417786
ORCID /0000-0003-2571-8441/work/142240588

Keywords

Sustainable Development Goals

Keywords

  • electronic engineering computing, energy conservation, feature extraction, field programmable gate arrays, graphics processing units, high level synthesis, multiprocessing systems, power aware computing, public domain software, integrated GPU, high-level synthesis, heterogeneous computing, SDAccel tool, feature detection algorithm, Graphics processing units, CPU, Energy Efficiency, Performance, Image Processing, microprocessor chips, optimisation, optimization strategies, Xilinx, HLS, FPGA implementations, energy efficiency, heterogeneous system, OpenCL, multicore CPU, Kernel, Field programmable gate arrays, Bandwidth, Optimization, Resource management, SDAccel, GPU, FPGA, Accelerators