Comparison between GPU and FPGA as hardware accelerator

CPU’s performance is not enough to fit today’s needs, such as cloud computing, biomedical research, digital signal processing, and weather forecasting. All of these require a very high level of computation performance and it cannot be provided with CPU alone. The two common ways to speed it up are u...

Full description

Bibliographic Details
Main Author: Yang, Lu
Other Authors: Pramod Kumar Meher
Format: Final Year Project (FYP)
Language:English
Published: 2014
Subjects:
Online Access:http://hdl.handle.net/10356/59102
Description
Summary:CPU’s performance is not enough to fit today’s needs, such as cloud computing, biomedical research, digital signal processing, and weather forecasting. All of these require a very high level of computation performance and it cannot be provided with CPU alone. The two common ways to speed it up are using GPU and FPGA as accelerators. The top supercomputer, such as Titan-Cray XK7 has employed GPUs as important parts of the system, which help the system achieve not only high performance but also high power efficiency. And in digital signal processing area, FPGA shows its superiority. So how would GPU and FPGA help high performance computation as an accelerator? Which of them will help high performance computation faster? And what’re the differences between them in terms of the way of accelerating? This project is to find out the performance difference between GPU and FPGA by implementing the same algorithms (FFT algorithm and FIR filter algorithm). The GPU implementation is optimized through making use of shared and constant memory to hide the memory latency. And the FPGA configuration is fully parallel and pipelined within the resource limitation. The comparison is based on their throughputs, resource usages percentages, implementation methods and other factors that would affect the performance. The comparison results shows that because of the high I/O bandwidth and better resource usage efficiency, FPGA presents a better performance than GPU. And the complexity and time costly of FPGA implementation become its drawback in FPGA development.