Image Convolution Processing: a GPU versus FPGA Comparison

Lucas M. Russo, Emerson C. Pedrino, Edilson Kato, Valentin Obac Roda
Federal University of Sao Carlos – DC, Rodovia Washington Luis, km 235 – SP-310, 13565-905, Sao Carlos – Sao Paulo – Brazil
VIII Southern Programmable Logic Conference, 2012


   title={Image Convolution Processing: a GPU versus FPGA Comparison},

   author={Russo, Lucas M. and Pedrino, Emerson C. and Kato, Edilson and Roda, Valentin Obac},



Download Download (PDF)   View View   Source Source   



Convolution is one of the most important operators used in image processing. With the constant need to increase the performance in high-end applications and the rise and popularity of parallel architectures, such as GPUs and the ones implemented in FPGAs, comes the necessity to compare these architectures in order to determine which of them performs better and in what scenario. In this article, convolution was implemented in each of the aforementioned architectures with the following languages: CUDA for GPUs and Verilog for FPGAs. In addition, the same algorithms were also implemented in MATLAB, using predefined operations and in C using a regular x86 quad-core processor. Comparative performance measures, considering the execution time and the clock ratio, were taken and commented in the paper. Overall, it was possible to achieve a CUDA speedup of roughly 200x in comparison to C, 70x in comparison to Matlab and 20x in comparison to FPGA.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: