A comparison between GPU and FPGA as hardware accelerators - Loh, Jason Keng Sang (2016)
In the past decade, FPGAs and GPUs have become increasingly common as hardware accelerators when dealing with computationally intensive tasks. Such applications, which include digital signal processing and cryptography, often involve Single-Instruction-Multiple-Data or other highly parallelizable processes which CPUs, with their small number of cores, are ill-suited for; hence the need for coprocessors. In this report, the performance of these two platforms are compared in three different applications with the goal of finding which types of application each platform is most suited for. In contrast to previous works which focus on high end or supercomputing units, an analysis is performed on a low end FPGA and a consumer GPU. This is done via benchmarking their performance against a CPU in Square Matrix Multiplication, Fast Fourier Transform and Finite Impulse Response filtering. I show that for the three benchmark applications, when dealing with large data sets, the GPU outperforms the FPGA, while for small data sets, the FPGA is able to outperform the GPU. I also show that in several cases, the low end FPGA is unable to outperform the CPU for any data size.