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 |
Optionen (nur für Redakteure)
Redaktionelle Details anzeigen |