TU Darmstadt / ULB / TUbiblio

Automatic Construct Selection and Variable Classification in OpenMP

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 Frage zum Eintrag

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