A

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

  1. RWTH Aachen University

    Affiliation as printed

    IT Center RWTH Aachen University,High Performance Computing,Aachen,Germany

  2. RWTH Aachen University

    Affiliation as printed

    IT Center RWTH Aachen University,High Performance Computing,Aachen,Germany

  3. RWTH Aachen University

    Affiliation as printed

    IT Center RWTH Aachen University,High Performance Computing,Aachen,Germany

  4. RWTH Aachen University

    Affiliation as printed

    IT Center RWTH Aachen University,High Performance Computing,Aachen,Germany

  5. RWTH Aachen University

    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

14 results