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

Direct link
Cite
Citation style
  • apa
  • 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
Pattern-based Programming Abstractions for Heterogeneous Parallel Computing
Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, Faculty of Science & Engineering. (PELAB)ORCID iD: 0000-0001-6514-4601
2022 (English)Doctoral thesis, monograph (Other academic)
Abstract [en]

Contemporary computer architectures utilize wide multi-core processors, accelerators such as GPUs, and clustering of individual computers into complex large-scale systems. These hardware trends are prevalent across computers of all sizes, from the largest supercomputers down to the smallest mobile phones. While these innovations provide high peak computing performance, software developers find it increasingly difficult to effectively target all the processing resources without expert knowledge in parallelization, heterogeneous computing, communication, synchronization, and so on. To ensure that software can keep up with the development of hardware architectures, advanced high-level programming environments and frameworks are needed to bridge the programmability gap. In addition, as the industry is trending towards increased vertical integration of software development stacks, vendor lock-in presents a risk of coupling software projects to proprietary technologies. Combined with problems of technical debt in large-scale software systems, it is clear that portability and open source are desirable properties of high-level parallel programming environments. One example of a programming framework fulfilling the above criteria is SkePU, a framework for high-level data-parallel pattern programming consisting of a compiler toolchain, programming interface, and run-time system.

The work presented in this thesis proposes a design of the pattern-centric skeleton programming model of the SkePU framework based on modern C++ with variadic template metaprogramming and state-of-the-art compiler technology. The design enables further flexibility, expressivity, and portability and gives rise to several new performance optimization techniques. The focus lies on a strong set of programming abstractions: providing new and extended patterns, improving the data access locality of existing ones, and using both static and dynamic knowledge about program flow. The work combines novel programming interfaces and implementations with practical evaluation on synthetic and real-world applications. Several contributions are results from international collaborations in application-framework co-design: a single-source parallelization approach of skeleton programs on heterogeneous clusters, an extension mechanism for inserting platform-optimized code variants in high-level skeleton programs, and an integrated abstraction for portable parallel deterministic random number generation. The work places a strong emphasis on programmability aspects to make heterogeneous parallel computing accessible to non-experts, while also providing sufficient performance and interface familiarity for the high-performance computing community.

Place, publisher, year, edition, pages
Linköping: Linköping University Electronic Press, 2022. , p. 267
Series
Linköping Studies in Science and Technology. Dissertations, ISSN 0345-7524 ; 2205
Keywords [en]
High‐level parallel programming, Algorithmic skeletons, Heterogeneous systems, High‐performance computing
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:liu:diva-181853DOI: 10.3384/9789179291969ISBN: 9789179291952 (print)ISBN: 9789179291969 (electronic)OAI: oai:DiVA.org:liu-181853DiVA, id: diva2:1620301
Public defence
2022-03-15, Ada Lovelace, B Building, Campus Valla, Linköping, 10:15 (English)
Opponent
Supervisors
Funder
EU, FP7, Seventh Framework Programme, 611183EU, Horizon 2020, 801015CUGS (National Graduate School in Computer Science)
Note

Additional funding agency: Swedish e-Science Research Centre (SeRC)

Available from: 2022-02-07 Created: 2021-12-15 Last updated: 2022-02-07Bibliographically approved

Open Access in DiVA

fulltext(15716 kB)2055 downloads
File information
File name FULLTEXT01.pdfFile size 15716 kBChecksum SHA-512
b805bc14712b5fd43cffd4fd12855f1ad44868c6026a30e10bb520362777ea8f917597fb63367cc897ef29417bb35b4715df2fa850eaac4a3fdf50bb89ec0dd9
Type fulltextMimetype application/pdf

Other links

Publisher's full text

Authority records

Ernstsson, August

Search in DiVA

By author/editor
Ernstsson, August
By organisation
Software and SystemsFaculty of Science & Engineering
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 2057 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
isbn
urn-nbn

Altmetric score

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

Direct link
Cite
Citation style
  • apa
  • 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