Presentation
Correctness Checking of MPI+OpenMP Applications Using Vector Clocks in MUST
DescriptionEnsuring 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 tools primarily focus on a single programming model, offering limited support for hybrid applications. This paper presents four MPI+OpenMP error classes that require a tool to detect concurrent MPI calls within the same process. To detect these concurrent MPI calls, we track OpenMP synchronizations using vector clocks. To enhance the detection of these error classes, we extend the MPI correctness tool MUST with clock-based analyses for MPI+OpenMP checks. We maintain the vector clocks within MUST by utilizing the synchronization information provided by the OpenMP race detector Archer. We evaluate the clock-based analyses on hybrid test cases from MPI-CorrBench and our own test suite. The clock-based analyses correctly classify almost all test cases and significantly improve MUST's ability to detect these MPI+OpenMP errors.
Event Type
Workshop
TimeMonday, 18 November 202412:18pm - 12:24pm EST
LocationB315
Debugging and Correctness Tools
Fault-Tolerance, Reliability, Maintainability, and Adaptability
Software Engineering
W
Archive
view


