Useful GPGPU Programming Abstractions. A thorough analysis of GPGPU development frameworks
Permanent link
https://hdl.handle.net/10037/9621View/ Open
(PDF)
Source code, Experimental data readings (Unknown)
Date
2016-06-01Type
Master thesisMastergradsoppgave
Author
Larsen, Johannes ArctanderAbstract
Today, computers commonly have graphics hardware with a processing power far exceeding that of the main processors in the same machines. Modern graphics hardware consists of highly data-parallel processors, which are user programmable. However, software development utilizing these processors directly is reserved for platforms that require a fair bit of intimate knowledge about the underlying hardware architecture. The need for specialized development platforms that expose the underlying parallelism to developers, elevates the learning threshold for newcomers, which obstructs the general adaption of GPU support. However, there are many frameworks that build upon, and elevate the abstraction level of, these specialized development platforms. These frameworks strive to provide programming interfaces less dependent on graphics architecture knowledge, and better resembling how you would program traditional software. They all come with their own quirks, and many of the abstractions they provide come with a considerable computational overhead. This thesis aims to catalog relevant kinds of high-level GPGPU frameworks, and to evaluate their abstractions, and the overhead these abstraction impose on their applications. The experiments are based on real-world SAR processing problems that physicists at the university are exploring the possibility of accelerating on GPU, and the experiments compare frameworks against each other and against a baseline low-level CUDA implementation. The results show that the overhead most frameworks impose are moderate for data-intensive problems, considerable for compute-intensive problems, and typically higher for high-level interpreted language bindings than for native frameworks. Libraries with thoroughly tested general-purpose GPU functionality (e.g.~ArrayFire) help in the development process, but must work on moderately sized data structures to amortize their overhead sufficiently. GPU code generators (e.g.~VexCL) also have great potential, but their abstractions tend to add complexity to the code, which make them better suited for advanced GPU programmers, than regular developers.
Publisher
UiT Norges arktiske universitetUiT The Arctic University of Norway
Metadata
Show full item recordCollections
Copyright 2016 The Author(s)
The following license file are associated with this item:
Except where otherwise noted, this item's license is described as Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0)
Related items
Showing items related by title, author, creator and subject.
-
Influence of environmental tonicity changes on lipophilic drug release from liposomes
Nikolaisen, Trygg Einar (Mastergradsoppgave; Master thesis, 2018-05-15)Introduction: Liposomes as drug delivery systems has been widely studied as a way to solubilize poorly soluble drugs, reduce side effects of chemotherapeutics and increase circulation time in vivo. Since the first descriptions of liposomes over 60 years ago, they have shown tendencies to shrink and swell when the external environment of the liposomes is altered. This phenomenon has been studied in ... -
Implementing an electronic health record in a Nigerian secondary healthcare facility. Prospects and challenges
Attah, Ambrose Ojadale (Master thesis; Mastergradsoppgave, 2017-11-02)Nigeria is witnessing continuing advocacy and increase in number of individuals yearning for computerization of health information and healthcare processes. However, little is known about the opinions of the diverse healthcare providers who would ensure the successful implementation and meaningful use of health information technology in the country (Adeleke, Erinle et al. 2015). This study explores ... -
Geometric Modeling- and Sensor Technology Applications for Engineering Problems
Pedersen, Aleksander (Doctoral thesis; Doktorgradsavhandling, 2020-10-20)In applications for technical problems, Geometric modeling and sensor technology are key in both scientific and industrial development. Simulations and visualization techniques are the next step after defining geometry models and data types. This thesis attempts to combine different aspects of geometric modeling and sensor technology as well as to facilitate simulation and visualization. It includes ...