LiU Electronic Press
Download:
File size:
1929 kb
Format:
application/pdf
Author:
Dastgeer, Usman (Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory) (Linköping University, The Institute of Technology) (PELAB - Programming Environment Laboratory)
Title:
Skeleton Programming for Heterogeneous GPU-based Systems
Department:
Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory
Linköping University, The Institute of Technology
Publication type:
Licentiate thesis, monograph (Other academic)
Language:
English
Place of publ.: Linköping Publisher: Linköping University Electronic Press
Pages:
90
Series:
Linköping Studies in Science and Technology. Thesis, ISSN 0280-7971; 1504
Year of publ.:
2011
URI:
urn:nbn:se:liu:diva-70234
Permanent link:
http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-70234
ISBN:
978-91-7393-066-6
Subject category:
Computer Science
SVEP category:
Computer science
Keywords(en) :
Skeleton programming, GPU programming, SkePU, performance, portability
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.

Presentation:
2011-10-07, Visionen, hus B, Campus Valla, Linköpings universitet, Linköping, 13:00 (English)
Degree:
Licentiate of Engineering
Supervisor:
Kessler, Christoph, Professor (Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory) (Linköping University, The Institute of Technology)
Sandahl, Kristian, Professor (Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory) (Linköping University, The Institute of Technology)
Opponent:
Gorlatch, Sergei, Dr. (University of Muenster, Institut für Informatik)
Research funder:
Swedish e‐Science Research Center
Available from:
2011-09-27
Created:
2011-08-26
Last updated:
2011-09-27
Statistics:
375 hits
FILE INFORMATION
File size:
1929 kb
Mimetype:
application/pdf
Type:
fulltext
Statistics:
919 hits
File size:
60 kb
Mimetype:
application/pdf
Type:
cover
Statistics:
54 hits