TU Darmstadt / ULB / TUbiblio

An Alternative OpenMP-Backend for Polly

Halkenhäuser, Michael (2018)
An Alternative OpenMP-Backend for Polly.
Technische Universität Darmstadt
Bachelorarbeit, Erstveröffentlichung

Kurzbeschreibung (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.

Typ des Eintrags: Bachelorarbeit
Erschienen: 2018
Autor(en): Halkenhäuser, Michael
Art des Eintrags: Erstveröffentlichung
Titel: An Alternative OpenMP-Backend for Polly
Sprache: Englisch
Referenten: Koch, Prof. Dr. Andreas ; Sommer, M.Sc. Lukas
Publikationsjahr: 17 Juli 2018
Ort: Darmstadt
Datum der mündlichen Prüfung: 3 August 2018
URL / URN: https://tuprints.ulb.tu-darmstadt.de/8517
Kurzbeschreibung (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
Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik
20 Fachbereich Informatik > Eingebettete Systeme und ihre Anwendungen
Hinterlegungsdatum: 17 Mär 2019 20:55
Letzte Änderung: 17 Mär 2019 20:55
PPN:
Referenten: Koch, Prof. Dr. Andreas ; Sommer, M.Sc. Lukas
Datum der mündlichen Prüfung / Verteidigung / mdl. Prüfung: 3 August 2018
Export:
Suche nach Titel in: TUfind oder in Google
Frage zum Eintrag Frage zum Eintrag

Optionen (nur für Redakteure)
Redaktionelle Details anzeigen Redaktionelle Details anzeigen