Efficient Data Transfer Method for Image Filtering Implementation on FPGA Using OpenCL
暂无分享,去创建一个
Heterogeneous platforms which commonly consist of a central processing unit (CPU) and a graphic processing unit (GPU) receive lots of attention to achieve both high performance and low power consumption. Furthermore, modern heterogeneous platforms often employ a field programmable gate array (FPGA) device in addition to a CPU and a GPU. To fully utilize these heterogeneous hardware accelerators, Open Computing Language (OpenCL) has been developed. In this paper, an FPGA implementation of image filtering with effective data transfer using OpenCL is proposed. To utilize the configurable pipelined architecture of the target FPGA, an effective local memory allocation scheme is proposed for a convolution kernel, and a loopunrolling method is applied to increase the local memory allocation efficiency. By using the proposed method, the average local memory access latency is improved significantly for various memory access patterns. Also, the proposed filtering kernel shows a better performance-per-watt than a functionally equivalent GPU implementation by efficiently utilizing the hardware resources of the target FPGA.
[1] Razvan Andonie,et al. An Implementation of Evolutionary Computation Operators in OpenCL , 2011, IDC.
[2] David Kaeli,et al. Heterogeneous Computing with OpenCL, Second Edition: Revised OpenCL 1.2 Edition , 2014 .
[3] Vikram S. Adve,et al. The LLVM Compiler Framework and Infrastructure Tutorial , 2004, LCPC.
[4] Lukás Sekanina,et al. Image Filter Design with Evolvable Hardware , 2002, EvoWorkshops.