liu.seSearch for publications in DiVA
ReferencesLink to record
Permanent link

Direct link
Skeleton Programming for Heterogeneous GPU-based Systems
2011 (English)Licentiatavhandling, monografi (Other academic)
Abstract [en]

In this thesis, we address issues associated with programming modern heterogeneous systems while focusing on a special kind of heterogeneous systems that include multicore CPUs and one or more GPUs, called GPU-based systems.We consider the skeleton programming approach to achieve high level abstraction for efficient and portable programming of these GPU-based systemsand present our work on SkePU library which is a skeleton library for these systems.

We extend the existing SkePU library with a two-dimensional (2D) data type and skeleton operations and implement several new applications using newly made skeletons. Furthermore, we consider the algorithmic choice present in SkePU and implement support to specify and automatically optimize the algorithmic choice for a skeleton call, on a given platform.

To show how to achieve performance, we provide a case-study on optimized GPU-based skeleton implementation for 2D stencil computations and introduce two metrics to maximize resource utilization on a GPU. By devising a mechanism to automatically calculate these two metrics, performance can be retained while porting an application from one GPU architecture to another.

Another contribution of this thesis is implementation of the runtime support for the SkePU skeleton library. This is achieved with the help of the StarPUruntime system. By this implementation,support for dynamic scheduling and load balancing for the SkePU skeleton programs is achieved. Furthermore, a capability to do hybrid executionby parallel execution on all available CPUs and GPUs in a system, even for a single skeleton invocation, is developed.

SkePU initially supported only data-parallel skeletons. The first task-parallel skeleton (farm) in SkePU is implemented with support for performance-aware scheduling and hierarchical parallel execution by enabling all data parallel skeletons to be usable as tasks inside the farm construct.

Experimental evaluations are carried out and presented for algorithmic selection, performance portability, dynamic scheduling and hybrid execution aspects of our work.

Place, publisher, year, pages
Linköping: Linköping University Electronic Press, 2011. 90 p.
Series
Linköping Studies in Science and Technology. Thesis, ISSN 0280-7971 ; 1504
Keyword [en]
Skeleton programming, GPU programming, SkePU, performance, portability
National Category
Computer Science
Identifiers
urn:nbn:se:liu:diva-70234 (URN)978-91-7393-066-6 (ISBN)oai:DiVA.org:liu-70234 (OAI)
Presentation
2011-10-07, Visionen, hus B, Campus Valla, Linköpings universitet, Linköping, 13:00 (English)
Opponent
Supervisors
Funder
Swedish e‐Science Research Center
Available from2011-09-27 Created:2011-08-26 Last updated:2014-10-08Bibliographically approved

Open Access in DiVA

fulltext(1929 kB)945 downloads
File information
File name FULLTEXT01.pdfFile size 1929 kBChecksum SHA-512
ece3bdd5fe3a2d717f3d6a66db14df89895106c8ad47723d212c77934c2471b739a7e58f9f2a1942bb19041ed0a598994062a45aeac72d8841602823aaaa6fd5
Typ fulltextMimetype application/pdf
cover(60 kB)54 downloads
File information
File name COVER01.pdfFile size 60 kBChecksum SHA-512
ef94d2caeb9627307dd5a438651f2921987689f1635c1f5174ca19370d3171ab70002ea529669589ef06af2d2547da0951d9b689d6bd2c48c21ffd0376a9f6d7
Typ coverMimetype application/pdf

Search in DiVA

By author/editor
Dastgeer, Usman
By organisation
PELAB - Programming Environment LaboratoryThe Institute of Technology
Computer Science

Search outside of DiVA

GoogleGoogle Scholar
Totalt: 945 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available
Totalt: 379 hits
ReferencesLink to record
Permanent link

Direct link