Correctness Checking of MPI+OpenMP Applications Using Vector Clocks in MUST
Abstract
Ensuring the correctness of MPI+OpenMP programs requires careful consideration of both models and their interactions, as combining them increases complexity and makes development more error-prone. Existing correctness tools primarily focus on a single programming model, offering limited support for hybrid applications. This paper presents four classes of MPI+OpenMP errors due to concurrent MPI calls invoked from different threads within the same process. To detect such issues, we provide a method that tracks the synchronization of OpenMP threads using vector clocks. We implement our clock-based checks in the MPI correctness tool MUST and utilize the OpenMP synchronization information provided by the race detector Archer. An evaluation on hybrid test cases from MPI-CorrBench and our own test suite shows that our clock-based analyses classify most tests correctly and significantly improve MUST’s ability to detect these MPI+OpenMP errors.
Authors 5
-
Affiliation as printed
IT Center RWTH Aachen University,High Performance Computing,Aachen,Germany
-
Affiliation as printed
IT Center RWTH Aachen University,High Performance Computing,Aachen,Germany
-
Affiliation as printed
IT Center RWTH Aachen University,High Performance Computing,Aachen,Germany
-
Affiliation as printed
IT Center RWTH Aachen University,High Performance Computing,Aachen,Germany
-
Affiliation as printed
IT Center RWTH Aachen University,High Performance Computing,Aachen,Germany
Cited by 1 stored of 1
1 result
No patents citing this paper on Lens.org (checked 2026-10-06).
References 14
-
W6769569213details pending0citations
14 results