Norouzi, Mohammad ; Wolf, Felix ; Jannesari, Ali (2019)
Automatic Construct Selection and Variable Classification in OpenMP.
33rd International Conference on Supercomputing. Phoenix, USA (26.-28.06.2019)
doi: 10.1145/3330345.3330375
Konferenzveröffentlichung, Bibliographie
Kurzbeschreibung (Abstract)
A major task of parallelization with OpenMP is to decide where in a program to insert which OpenMP construct such that speedup is maximized and correctness is preserved. Another challenge is the classification of variables that appear in a construct according to their data-sharing semantics. Manual classification is tedious and error prone. Moreover, the choice of the data-sharing attribute can significantly affect performance. Grounded on the notion of parallel design patterns, we propose a method that identifies code regions to parallelize and selects appropriate OpenMP constructs for them. Also, we classify variables in the chosen constructs by analyzing data dependences that have been dynamically extracted from the program. Using our approach, we created OpenMP versions of 49 sequential benchmarks and compared them with the code produced by three state-of-the-art parallelization tools: Our codes are faster in most cases with average speedups relative to any of the three ranging from 1.8 to 2.7. Additionally, we automatically reclassified variables of OpenMP programs parallelized manually or with the help of these tools, improving their execution time by up to 29%.
Typ des Eintrags: | Konferenzveröffentlichung |
---|---|
Erschienen: | 2019 |
Autor(en): | Norouzi, Mohammad ; Wolf, Felix ; Jannesari, Ali |
Art des Eintrags: | Bibliographie |
Titel: | Automatic Construct Selection and Variable Classification in OpenMP |
Sprache: | Englisch |
Publikationsjahr: | 26 Juni 2019 |
Verlag: | ACM |
Buchtitel: | ICS '19: Proceedings of the ACM International Conference on Supercomputing |
Veranstaltungstitel: | 33rd International Conference on Supercomputing |
Veranstaltungsort: | Phoenix, USA |
Veranstaltungsdatum: | 26.-28.06.2019 |
DOI: | 10.1145/3330345.3330375 |
Kurzbeschreibung (Abstract): | A major task of parallelization with OpenMP is to decide where in a program to insert which OpenMP construct such that speedup is maximized and correctness is preserved. Another challenge is the classification of variables that appear in a construct according to their data-sharing semantics. Manual classification is tedious and error prone. Moreover, the choice of the data-sharing attribute can significantly affect performance. Grounded on the notion of parallel design patterns, we propose a method that identifies code regions to parallelize and selects appropriate OpenMP constructs for them. Also, we classify variables in the chosen constructs by analyzing data dependences that have been dynamically extracted from the program. Using our approach, we created OpenMP versions of 49 sequential benchmarks and compared them with the code produced by three state-of-the-art parallelization tools: Our codes are faster in most cases with average speedups relative to any of the three ranging from 1.8 to 2.7. Additionally, we automatically reclassified variables of OpenMP programs parallelized manually or with the help of these tools, improving their execution time by up to 29%. |
Freie Schlagworte: | LOEWE|SF4.0, DFG|320898076, DoE|DE-SC0015524, DFG, LOEWE, |
Fachbereich(e)/-gebiet(e): | 20 Fachbereich Informatik 20 Fachbereich Informatik > Parallele Programmierung |
Hinterlegungsdatum: | 04 Apr 2024 08:36 |
Letzte Änderung: | 16 Jul 2024 07:00 |
PPN: | 519930916 |
Export: | |
Suche nach Titel in: | TUfind oder in Google |
Frage zum Eintrag |
Optionen (nur für Redakteure)
Redaktionelle Details anzeigen |