The Art of GPGPU
Translated title
Authors
Term
3. term
Education
Publication year
2011
Submitted on
2011-01-07
Pages
117
Abstract
In this report we document our analysis of General-Purpose computations on Graphics Processing Units (GPGPU) and the practical experience that we have gained throughout the process. In the analysis chapter, we analyze the dier- ences between GPUs and CPUs describe the architecture of the G80 chip, which is the chip on the Tesla cards available to us. Also we take an in-depth look at three GPGPU pro- gramming languages, CUDA, OpenCL and BrookGPU, where OpenCL and CUDA is supported by the the Tesla card, and we nd several tools that can help with OpenCL and CUDA development. In the development chapter, we implement two GPGPU powered applications, namely a ray tracer using CUDA and the Boids ock- ing algorithm using OpenCL and Brook+. Benchmarks are carried out, which are ana- lyzed and discussed. We nd that the GPU is indeed a powerful co-processor, but one must be able to program it correctly against several factors to obtain high performance. Lastly, we compare the three GPGPU lan- guages, that we found through the analy- sis, using a number of comparison criteria. Through the comparison we nd that CUDA is the most expressive of the three, and is also the must mature, while OpenCL is quickly gaining popularity in the GPGPU eld.
Documents
