Performance comparison of FPGA, GPU and CPU in image processing

Mrunal Patil
Image processing using FPGA
1 min readJun 7, 2021

Many applications in image processing have high inherent parallelism. FPGAs have shown very high performance in spite of their low operational frequency by fully extracting the parallelism. In recent micro processors, it also becomes possible to utilize the parallelism using multi-cores which support improved SIMD(Single instruction, multiple data) instructions, though programmers have to use them explicitly to achieve high performance. Recent GPUs support a large number of cores, and have a potential for high performance in many applications. However, the cores are grouped, and data transfer between the groups is very limited. Programming tools for FPGA, SIMD instructions on CPU and a large number of cores on GPU have been developed, but it is still difficult to achieve high performance on these platforms.

GPU (Graphics Processing Unit) from Nvidia for the evaluation was selected.The performance of GPU with FPGA and CPU (quad-cores) using three simple problems in image processing were compared.

It was observed that GPU is slower than CPU in some algorithms and the performance of FPGA is limited by the size of FPGA and the memory bandwidth.

--

--