Mapping a Guided Image Filter on the HARP Reconfigurable Architecture Using OpenCL

Intel recently introduced the Heterogeneous Architecture Research Platform, HARP. In this platform, the Central Processing Unit and a Field-Programmable Gate Array are connected through a high-bandwidth, low-latency interconnect and both share DRAM memory. For this platform, Open Computing Language (OpenCL), a High-Level Synthesis (HLS) language, is made available. By making use of HLS, a faster design cycle can be achieved compared to programming in a traditional hardware description language. This, however, comes at the cost of having less control over the hardware implementation. We will investigate how OpenCL can be applied to implement a real-time guided image filter on the HARP platform. In the first phase, the performance-critical parameters of the OpenCL programming model are defined using several specialized benchmarks. In a second phase, the guided image filter algorithm is implemented using the insights gained in the first phase. Both a floating-point and a fixed-point implementation were developed for this algorithm, based on a sliding window implementation. This resulted in a maximum floating-point performance of 135 GFLOPS, a maximum fixed-point performance of 430 GOPS and a throughput of HD color images at 74 frames per second.

[1]  K. Steinhubl Design of Ion-Implanted MOSFET'S with Very Small Physical Dimensions , 1974 .

[2]  Kai Liu,et al.  Parallel Computing Implementation for Real-Time Image Dehazing Based on Dark Channel , 2018, 2018 IEEE 20th International Conference on High Performance Computing and Communications; IEEE 16th International Conference on Smart City; IEEE 4th International Conference on Data Science and Systems (HPCC/SmartCity/DSS).

[3]  Samuel Williams,et al.  Roofline: an insightful visual performance model for multicore architectures , 2009, CACM.

[4]  Jian Sun,et al.  Guided Image Filtering , 2010, ECCV.

[5]  Norishige Fukushima,et al.  Halide and GENESIS for Generating Domain-Specific Architecture of Guided Image Filtering , 2019, 2019 IEEE International Symposium on Circuits and Systems (ISCAS).

[6]  Wei Zhang,et al.  A performance analysis framework for optimizing OpenCL applications on FPGAs , 2016, 2016 IEEE International Symposium on High Performance Computer Architecture (HPCA).

[7]  Nenghai Yu,et al.  A General Decoupled Learning Framework for Parameterized Image Operators , 2019, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[8]  Shao-Yi Chien,et al.  VLSI Architecture Design of Guided Filter for 30 Frames/s Full-HD Video , 2014, IEEE Transactions on Circuits and Systems for Video Technology.

[9]  Satoshi Matsuoka,et al.  Combined Spatial and Temporal Blocking for High-Performance Stencil Computation on FPGAs Using OpenCL , 2018, FPGA.

[10]  Will Maddern,et al.  Fast Light Field Disparity Estimation via a Parallel Filtered Cost Volume Approach , 2018, ACCV.

[11]  Shiann-Rong Kuang,et al.  Design and implementation of a low-cost guided image filter for underwater image enhancement , 2017, 2017 IEEE Conference on Dependable and Secure Computing.

[12]  David R. Kaeli,et al.  Exploring the Efficiency of the OpenCL Pipe Semantic on an FPGA , 2016, SIGARCH Comput. Archit. News.

[13]  David A. Patterson,et al.  A new golden age for computer architecture , 2019, Commun. ACM.

[14]  Greg Stitt,et al.  Scalable Window Generation for the Intel Broadwell+Arria 10 and High-Bandwidth FPGA Systems , 2018, FPGA.

[15]  Chong-Min Kyung,et al.  Memory efficient self guided image filtering , 2017, 2017 International SoC Design Conference (ISOCC).

[16]  Lina Sawalha,et al.  An OpenCL-Based Acceleration for Canny Algorithm Using a Heterogeneous CPU-FPGA Platform , 2019, 2019 IEEE 27th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM).

[17]  Theocharis Theocharides,et al.  A Low-Cost Real-Time Embedded Stereo Vision System for Accurate Disparity Estimation Based on Guided Image Filtering , 2016, IEEE Transactions on Computers.

[18]  Elkin Garcia,et al.  A Reconfigurable Computing System Based on a Cache-Coherent Fabric , 2011, 2011 International Conference on Reconfigurable Computing and FPGAs.

[19]  Aaftab Munshi,et al.  The OpenCL specification , 2009, 2009 IEEE Hot Chips 21 Symposium (HCS).

[20]  Michael J. Flynn,et al.  Parallel architectures , 1996, CSUR.