A comparison between GPU and FPGA as hardware accelerators

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 pr...

Full description

Saved in:
Bibliographic Details
Main Author: Loh, Jason Keng Sang
Other Authors: Pramod Kumar Meher
Format: Final Year Project
Language:English
Published: 2016
Subjects:
Online Access:http://hdl.handle.net/10356/66497
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary: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.