Parallel Computing based on GPGPU using Compute Unifed Device Architecture

The demand of processing a huge amount of data within a limited time and the developing of computing capability of Graphic Process Unit (GPU) lead us to the world of parallel computing on General Purpose GPU (GPGPU). Because of the exposed parallelism, GPGPU could assign processing tasks to multiple...

Full description

Bibliographic Details
Main Author: Xu, Lifeng
Format: Others
Language:English
Published: KTH, Skolan för informations- och kommunikationsteknik (ICT) 2011
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-51066
Description
Summary:The demand of processing a huge amount of data within a limited time and the developing of computing capability of Graphic Process Unit (GPU) lead us to the world of parallel computing on General Purpose GPU (GPGPU). Because of the exposed parallelism, GPGPU could assign processing tasks to multiple threads and execute these threads simultaneously. This feature could speedup heavy data com- putation to a level, which we would never imagine in the past. In this thesis, we use a very important algorithm in image processing(DCT/IDCT) to present parallel computing on GPGPU, and implemented it both on the sin- gle GPU and multi-GPU system. The parallel computing technology is based on Compute Unified Device Architecture (CUDA) and OpenMP. Furthermore, some optimization strategies are discussed in the thesis and results will be compared. The final results show that the parallel computing could accelerate the processing from dozens of times to almost five hundreds of times. The potential factors that might affect the performance are also discussed. Therefore, it is more effective to use GPGPU to do parallel computing, and it is more power efficient.