TU Darmstadt / ULB / TUprints

An Alternative OpenMP-Backend for Polly

Halkenhäuser, Michael (2018)
An Alternative OpenMP-Backend for Polly.
Technische Universität Darmstadt
Bachelor Thesis, Primary publication

[img]
Preview
Text
thesis_final.pdf - Accepted Version
Copyright Information: CC BY-NC-SA 4.0 International - Creative Commons, Attribution NonCommercial, ShareAlike.

Download (1MB) | Preview
Item Type: Bachelor Thesis
Type of entry: Primary publication
Title: An Alternative OpenMP-Backend for Polly
Language: English
Referees: Koch, Prof. Dr. Andreas ; Sommer, M.Sc. Lukas
Date: 17 July 2018
Place of Publication: Darmstadt
Date of oral examination: 3 August 2018
Abstract:

Multicore architectures have found their way into many areas of application by now. While this allows for the execution of several tasks in parallel, software still has to be adapted for the specific architectures to utilize the available resources effectively. Thus, the development of code that may be run in parallel is oftentimes left to human experts, who are faced with the challenge of supporting different systems and their peculiarities. While there are standardized means to realize multithreaded software more easily, like for example OpenMP, it still remains a tedious and time-consuming task. Additionally, a programmer may introduce severe errors rather quickly, if the software is not carefully engineered. Fortunately, automatic tools exist which are based on a specific mathematical representation known as the polyhedral model. On the one hand, such representations may only describe certain code structures, since they are based on linear expressions. On the other hand, this allows to exactly define and test what may be parallelized, due to correct analysis results, as for example dependency analyses. Furthermore, powerful program transformations can be defined in a very abstract manner, using methods from linear algebra. One of these tools is Polly, which may automatically generate parallelized code without any manual preparation. Polly is a subproject of the LLVM compiler framework and operates solely on a low-level intermediate representation. This brings several advantages since this representation is language independent and can be deployed on multiple platforms. However, the generation of multithreaded code is currently limited to a specific OpenMP runtime environment. In this work we will therefore present an extension to the existing infrastructure, which enables the use of an additional implementation and therefore expands Polly’s field of application.

URN: urn:nbn:de:tuda-tuprints-85172
Divisions: 20 Department of Computer Science > Embedded Systems and Applications
Date Deposited: 11 Mar 2019 07:40
Last Modified: 11 Mar 2019 07:40
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/8517
PPN: 446245305
Export:
Actions (login required)
View Item View Item