Bibliografische Daten
ISBN/EAN: 9783656829843
Sprache: Englisch
Umfang: 132 S., 7 farbige Illustr.
Format (T/L/B): 1 x 29.7 x 21 cm
Einband: kartoniertes Buch
Beschreibung
Bachelor Thesis from the year 2013 in the subject Computer Science - Programming, grade: 1.0, University of Applied Sciences Oberösterreich, Hagenberg, course: Software Engineering, language: English, abstract: This thesis provides an introduction into programming for GPUs using OpenCL. After a historical overview of how graphic cards have evolved, the peculiarities of GPU and CPU hardware are discussed. Based on this knowledge, OpenCL is introduced as an API supporting all kinds of processing hardware. A deeper look into OpenCL's execution and memory model, which allows handling heterogeneous hardware, is rounded off by a simple, yet full example code. The thesis then continues with several implementations of standard algorithms for the GPU. The chosen problems start with matrix multiplication and go along with the all-prefix sum and sorting. As the first problem already offers parallelism naturally, performance analysis and optimization is focused during the first implementation chapter. The all-prefix sum and sorting are both problems being more dicult to split into independent pieces of work. Techniques will be discussed to tackle such kind of problems. Each GPU implementation is benchmarked and compared with one or more traditional CPU approaches. As GPUs and CPUs have different hardware architectures, appropriate algorithms and optimizations have been chosen to solve the problems by exploiting the underlying platform at best.