Show simple item record

dc.contributor.advisorBjørndalen, John Markus
dc.contributor.advisorDoulgeris, Anthony Paul
dc.contributor.advisorOlsen, Ole Morten
dc.contributor.authorLarsen, Johannes Arctander
dc.date.accessioned2016-08-31T11:11:07Z
dc.date.available2016-08-31T11:11:07Z
dc.date.issued2016-06-01
dc.description.abstractToday, 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.en_US
dc.description.abstractThe 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.en_US
dc.description.abstractThis 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.en_US
dc.description.abstractLibraries 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.en_US
dc.identifier.urihttps://hdl.handle.net/10037/9621
dc.identifier.urnURN:NBN:no-uit_munin_9161
dc.language.isoengen_US
dc.publisherUiT Norges arktiske universiteten_US
dc.publisherUiT The Arctic University of Norwayen_US
dc.rights.accessRightsopenAccess
dc.rights.holderCopyright 2016 The Author(s)
dc.subject.courseIDINF-3981
dc.subjectVDP::Mathematics and natural science: 400::Information and communication science: 420::Theoretical computer science, programming languages and programming theory: 421en_US
dc.subjectVDP::Technology: 500::Information and communication technology: 550::Computer technology: 551en_US
dc.subjectVDP::Mathematics and natural science: 400::Information and communication science: 420::Simulation, visualization, signal processing, image processing: 429en_US
dc.subjectVDP::Matematikk og Naturvitenskap: 400::Informasjons- og kommunikasjonsvitenskap: 420::Teoretisk databehandling, programmeringsspråk og -teori: 421en_US
dc.subjectVDP::Matematikk og Naturvitenskap: 400::Informasjons- og kommunikasjonsvitenskap: 420::Simulering, visualisering, signalbehandling, bildeanalyse: 429en_US
dc.subjectGPGPU (General Purpose computing on GPUs)en_US
dc.subjectGPU (Graphics Processing Unit)en_US
dc.subjectCUDAen_US
dc.subjectArrayFireen_US
dc.subjectMATLABen_US
dc.subjectVexCLen_US
dc.subjectThrusten_US
dc.subjectOpenACCen_US
dc.subjectPyCUDAen_US
dc.subjectSAR (Synthetic Aperture Radar)en_US
dc.subjectVDP::Teknologi: 500::Informasjons- og kommunikasjonsteknologi: 550::Datateknologi: 551en_US
dc.titleUseful GPGPU Programming Abstractions. A thorough analysis of GPGPU development frameworksen_US
dc.typeMaster thesisen_US
dc.typeMastergradsoppgaveen_US


File(s) in this item

Thumbnail
Thumbnail
Thumbnail

This item appears in the following collection(s)

Show simple item record