Comparison of OpenCL based design for a medical device on heterogeneous architectures with CPU, GPU and FPGA

Digital design is moving in the high performance era with fast steps. The ability to manufacture rich components, with large numbers of resources at relative low cost, has made design cost a considerable figure in the lifetime of modern circuits. Design cost can be reduced by reducing design time, which can be achieved with appropriate methodologies, improving designer productivity like high-level synthesis. After many years of research, such toolflows have lately reached mainstream industry, offering quality-of-results especially in the FPGA domain. While most of the times C/C++ is used as input language, OpenCL, a C/C++ extension introduced for application development in heterogeneous multi-core architectures, utilizing different CPUs, DSPs and GPUs, is gaining acceptance by major FPGA vendors. In this paper an OpenCL based environment is used for the design of the Back Projection algorithm, found in medical devices. It is shown that the fine granularity of parallel computational blocks, found in large amounts in modern FPGA devices, can be captured and exploited in a natural way with OpenCL's constructs and offer implementation improvements (5X-10X average speedup) over more complicated coding techniques. Compared to other implementation platforms, FPGAs offer performance, scalability and a low power alternative, at reduced cost.

[1]  Doris Chen,et al.  Fractal video compression in OpenCL: An evaluation of CPUs, GPUs, and FPGAs as acceleration platforms , 2013, 2013 18th Asia and South Pacific Design Automation Conference (ASP-DAC).

[2]  Yoram Bresler,et al.  O(N2log2N) filtered backprojection reconstruction algorithm for tomography , 2000, IEEE Trans. Image Process..

[3]  John Wawrzynek,et al.  OpenRCL: Low-Power High-Performance Computing with Reconfigurable Devices , 2010, 2010 International Conference on Field Programmable Logic and Applications.

[4]  Pierre-Henri Horrein,et al.  Energy-efficient FPGA implementation for binomial option pricing using OpenCL , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[5]  Muhsen Owaida,et al.  Synthesis of Platform Architectures from OpenCL Programs , 2011, 2011 IEEE 19th Annual International Symposium on Field-Programmable Custom Computing Machines.

[6]  Doris Chen,et al.  Invited paper: Using OpenCL to evaluate the efficiency of CPUS, GPUS and FPGAS for information filtering , 2012, 22nd International Conference on Field Programmable Logic and Applications (FPL).

[7]  Gary Smith,et al.  High-Level Synthesis: Past, Present, and Future , 2009, IEEE Design & Test of Computers.

[8]  Franz Franchetti,et al.  Performance analysis of the filtered backprojection image reconstruction algorithms , 2005, Proceedings. (ICASSP '05). IEEE International Conference on Acoustics, Speech, and Signal Processing, 2005..

[9]  Vítor Manuel Mendes da Silva,et al.  From OpenCL to gates: The FFT , 2013, 2013 IEEE Global Conference on Signal and Information Processing.

[10]  Jafar Saniie,et al.  Multidimensional representation of ultrasonic data processed by Reconfigurable Ultrasonic System-on-Chip using OpenCL high-level synthesis , 2014, 2014 IEEE International Ultrasonics Symposium.

[11]  Jeremy Chritz,et al.  Characterization of OpenCL on a scalable FPGA architecture , 2014, 2014 International Conference on ReConFigurable Computing and FPGAs (ReConFig14).

[12]  Peter M. Athanas,et al.  Enabling development of OpenCL applications on FPGA platforms , 2013, 2013 IEEE 24th International Conference on Application-Specific Systems, Architectures and Processors.

[13]  George Economakos,et al.  ESL as a Gateway from OpenCL to FPGAs: Basic Ideas and Methodology Evaluation , 2012, 2012 16th Panhellenic Conference on Informatics.