Halkenhäuser, Michael (2018)
An Alternative OpenMP-Backend for Polly.
Technische Universität Darmstadt
Bachelor Thesis, Primary publication
|
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: |
View Item |