liu.seSearch for publications in DiVA
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
SkePU 2: Flexible and Type-Safe Skeleton Programming for Heterogeneous Parallel Systems
Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, Faculty of Science & Engineering.
Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, Faculty of Science & Engineering.ORCID iD: 0000-0001-8976-0484
Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, Faculty of Science & Engineering.ORCID iD: 0000-0001-5241-0026
2018 (English)In: International journal of parallel programming, ISSN 0885-7458, E-ISSN 1573-7640, Vol. 46, no 1, p. 62-80Article in journal (Refereed) Published
Abstract [en]

In this article we present SkePU 2, the next generation of the SkePU C++ skeleton programming framework for heterogeneous parallel systems. We critically examine the design and limitations of the SkePU 1 programming interface. We present a new, flexible and type-safe, interface for skeleton programming in SkePU 2, and a source-to-source transformation tool which knows about SkePU 2 constructs such as skeletons and user functions. We demonstrate how the source-to-source compiler transforms programs to enable efficient execution on parallel heterogeneous systems. We show how SkePU 2 enables new use-cases and applications by increasing the flexibility from SkePU 1, and how programming errors can be caught earlier and easier thanks to improved type safety. We propose a new skeleton, Call, unique in the sense that it does not impose any predefined skeleton structure and can encapsulate arbitrary user-defined multi-backend computations. We also discuss how the source-to-source compiler can enable a new optimization opportunity by selecting among multiple user function specializations when building a parallel program. Finally, we show that the performance of our prototype SkePU 2 implementation closely matches that of SkePU 1.

Place, publisher, year, edition, pages
SPRINGER/PLENUM PUBLISHERS , 2018. Vol. 46, no 1, p. 62-80
Keywords [en]
Skeleton programming; SkePU; Source-to-source transformation; C++11; Heterogeneous parallel systems; Portability
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:liu:diva-144239DOI: 10.1007/s10766-017-0490-5ISI: 000419160200005OAI: oai:DiVA.org:liu-144239DiVA, id: diva2:1173650
Note

Funding Agencies|EU; SeRC; Swedish National Graduate School in Computer Science (CUGS); SNIC [2016/5-6]

Available from: 2018-01-12 Created: 2018-01-12 Last updated: 2018-01-31

Open Access in DiVA

fulltext(1026 kB)3 downloads
File information
File name FULLTEXT01.pdfFile size 1026 kBChecksum SHA-512
f92d9681fc8ffcb1dc6d00687047641f48886241498df9e539c80aee273688480b13db4f7ccdd6ddcb9b927cdbea53cb372b458d3fa59e9b009cd69e7edf1037
Type fulltextMimetype application/pdf

Other links

Publisher's full text

Search in DiVA

By author/editor
Ernstsson, AugustLi, LuKessler, Christoph
By organisation
Software and SystemsFaculty of Science & Engineering
In the same journal
International journal of parallel programming
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 3 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

doi
urn-nbn

Altmetric score

doi
urn-nbn
Total: 75 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf