TU Darmstadt / ULB / TUprints

Towards compiler-aided correctness checking of adjoint MPI applications

Hück, Alexander ; Protze, Joachim ; Lehr, Jan-Patrick ; Terboven, Christian ; Bischof, Christian ; Müller, Matthias S. (2021)
Towards compiler-aided correctness checking of adjoint MPI applications.
2020 IEEE/ACM 4th International Workshop on Software Correctness for HPC Applications (Correctness). Atlanta, Georgia, USA (11.11.2020-11.11.2020)
doi: 10.26083/tuprints-00018889
Conference or Workshop Item, Secondary publication, Publisher's Version

[img]
Preview
Text
typeart-must-adjoint-mpi-preprint.pdf
Copyright Information: In Copyright.

Download (365kB) | Preview
Item Type: Conference or Workshop Item
Type of entry: Secondary publication
Title: Towards compiler-aided correctness checking of adjoint MPI applications
Language: English
Date: 12 July 2021
Place of Publication: Darmstadt
Year of primary publication: 2020
Publisher: IEEE
Book Title: Proceedings of Correctness 2020: Fourth International Workshop on Software Correctness for HPC Applications
Event Title: 2020 IEEE/ACM 4th International Workshop on Software Correctness for HPC Applications (Correctness)
Event Location: Atlanta, Georgia, USA
Event Dates: 11.11.2020-11.11.2020
DOI: 10.26083/tuprints-00018889
Corresponding Links:
Origin: Secondary publication
Abstract:

Algorithmic Differentiation (AD) is a set of techniques to calculate derivatives of a computer program. In C++, AD typically requires (i) a type change of the built-in double, and (ii) a replacement of all MPI calls with AD-specific implementations. This poses challenges on MPI correctness tools, such as MUST, a dynamic checker, and TypeART, its memory sanitizer extension. In particular, AD impacts (i) memory layouts of the whole code, (ii) requires more memory allocations tracking by TypeART, and (iii) approximately doubles the MPI type checks of MUST due to an AD-specific communication reversal. To address these challenges, we propose a new callback interface for MUST to reduce the number of intercepted MPI calls, and, also, improve the filtering capabilities of TypeART to reduce tracking of temporary allocations for the derivative computation. We evaluate our approach on an AD-enhanced version of CORAL LULESH. In particular, we reduce stack variable tracking from 32 million to 13 thousand. MUST with TypeART and the callback interface reduces the runtime overhead to that of vanilla MUST.

Status: Publisher's Version
URN: urn:nbn:de:tuda-tuprints-188898
Classification DDC: 000 Generalities, computers, information > 004 Computer science
Divisions: 20 Department of Computer Science > Scientific Computing
Zentrale Einrichtungen > University IT-Service and Computing Centre (HRZ) > Hochleistungsrechner
Date Deposited: 12 Jul 2021 07:00
Last Modified: 21 Nov 2024 13:59
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/18889
PPN: 483252735
Export:
Actions (login required)
View Item View Item