Democratizing General Purpose GPU Programming through OpenCL and Scala
Authors
Beck, Reidar ; Jensen, Tommy ; Larsen, Helge Willum
Term
1. term
Education
Publication year
2011
Submitted on
2011-01-10
Pages
93
Abstract
Grafikprocessorer (GPU'er) er udviklet til grafik, men kan udføre mange simple operationer parallelt. General Purpose GPU (GPGPU) udnytter denne kapacitet til ikke-grafiske opgaver og kan gøre mange beregninger hurtigere. I denne afhandling viser vi konkrete eksempler på sådanne forbedringer. Vi undersøger også, hvordan man kan benchmarke forskellige GPGPU-programmeringsparadigmer (forskellige måder at skrive GPU-programmer på), så ydelsessammenligninger bliver retfærdige. Derudover ser vi på, hvordan man kan vurdere programmørers produktivitet, når de bruger disse tilgange. Til sidst implementerer og beskriver vi et simpelt værktøjssæt, der hjælper almindelige programmører med at udnytte en GPU.
Graphics Processing Units (GPUs) are built for graphics but can run many simple operations in parallel. General-purpose GPU (GPGPU) computing uses this capability for non-graphics tasks and can speed up many computations. In this thesis, we present concrete examples of such improvements. We also examine how to benchmark different GPGPU programming paradigms (different ways of writing GPU programs) so performance comparisons are fair. In addition, we explore how to assess programmer productivity when using these approaches. Finally, we implement and describe a simple toolkit that helps ordinary programmers take advantage of a GPU.
[This abstract was generated with the help of AI]
Documents
Other projects by the authors
Beck, Reidar:
Jensen, Tommy:
Larsen, Helge Willum:
