Jammer, Tim ; Bischof, Christian (2021)
Automatic Partitioning of MPI Operations in MPI+OpenMP Applications.
36th ISC High Performance Conference. virtual Conference (24.06.2021-02.07.2021)
doi: 10.1007/978-3-030-90539-2_12
Konferenzveröffentlichung, Bibliographie
Kurzbeschreibung (Abstract)
The new MPI 4.0 standard includes a new chapter about partitioned point-to-point communication operations. These partitioned operations allow multiple actors of one MPI process (e.g. multiple threads) to contribute data to one communication operation. These operations are designed to mitigate current problems in multithreaded MPI programs, with some work suggesting a substantial performance benefit (up to 26%) when using these operations compared to their existing non-blocking counterparts.
In this work, we explore the possibility for the compiler to automatically partition sending operations across multiple OpenMP threads. For this purpose, we developed an LLVM compiler pass that partitions MPI sending operations across the different iterations of OpenMP for loops. We demonstrate the feasibility of this approach by applying it to 2D stencil codes, observing very little overhead while the correctness of the codes is sustained. Therefore, this approach facilitates the usage of these new additions to the MPI standard for existing codes.
Our code is available on github: https://github.com/tudasc/CommPart.
Typ des Eintrags: | Konferenzveröffentlichung |
---|---|
Erschienen: | 2021 |
Autor(en): | Jammer, Tim ; Bischof, Christian |
Art des Eintrags: | Bibliographie |
Titel: | Automatic Partitioning of MPI Operations in MPI+OpenMP Applications |
Sprache: | Englisch |
Publikationsjahr: | 13 November 2021 |
Verlag: | Springer |
Buchtitel: | High Performance Computing |
Reihe: | Lecture Notes in Computer Science |
Band einer Reihe: | 12761 |
Veranstaltungstitel: | 36th ISC High Performance Conference |
Veranstaltungsort: | virtual Conference |
Veranstaltungsdatum: | 24.06.2021-02.07.2021 |
DOI: | 10.1007/978-3-030-90539-2_12 |
Kurzbeschreibung (Abstract): | The new MPI 4.0 standard includes a new chapter about partitioned point-to-point communication operations. These partitioned operations allow multiple actors of one MPI process (e.g. multiple threads) to contribute data to one communication operation. These operations are designed to mitigate current problems in multithreaded MPI programs, with some work suggesting a substantial performance benefit (up to 26%) when using these operations compared to their existing non-blocking counterparts. In this work, we explore the possibility for the compiler to automatically partition sending operations across multiple OpenMP threads. For this purpose, we developed an LLVM compiler pass that partitions MPI sending operations across the different iterations of OpenMP for loops. We demonstrate the feasibility of this approach by applying it to 2D stencil codes, observing very little overhead while the correctness of the codes is sustained. Therefore, this approach facilitates the usage of these new additions to the MPI standard for existing codes. Our code is available on github: https://github.com/tudasc/CommPart. |
Fachbereich(e)/-gebiet(e): | 20 Fachbereich Informatik 20 Fachbereich Informatik > Scientific Computing Zentrale Einrichtungen Zentrale Einrichtungen > Hochschulrechenzentrum (HRZ) Zentrale Einrichtungen > Hochschulrechenzentrum (HRZ) > Hochleistungsrechner |
Hinterlegungsdatum: | 18 Jul 2022 09:27 |
Letzte Änderung: | 12 Dez 2022 15:08 |
PPN: | 502516410 |
Export: | |
Suche nach Titel in: | TUfind oder in Google |
Frage zum Eintrag |
Optionen (nur für Redakteure)
Redaktionelle Details anzeigen |