Section: New Software and Platforms
PARCOACH
PARallel Control flow Anomaly CHecker
Keywords: High-Performance Computing - Program verification - Debug - MPI - OpenMP - Compilation
Scientific Description: PARCOACH verifies programs in two steps. First, it statically verifies applications with a data- and control-flow analysis and outlines execution paths leading to potential deadlocks. The code is then instrumented, displaying an error and synchronously interrupting all processes if the actual scheduling leads to a deadlock situation.
Functional Description: Supercomputing plays an important role in several innovative fields, speeding up prototyping or validating scientific theories. However, supercomputers are evolving rapidly with now millions of processing units, posing the questions of their programmability. Despite the emergence of more widespread and functional parallel programming models, developing correct and effective parallel applications still remains a complex task. As current scientific applications mainly rely on the Message Passing Interface (MPI) parallel programming model, new hardwares designed for Exascale with higher node-level parallelism clearly advocate for an MPI+X solutions with X a thread-based model such as OpenMP. But integrating two different programming models inside the same application can be error-prone leading to complex bugs - mostly detected unfortunately at runtime. PARallel COntrol flow Anomaly CHecker aims at helping developers in their debugging phase.
-
Participants: Emmanuelle Saillard, Denis Barthou and Pierre Huchant
-
Publications: Combining Static and Dynamic Validation of MPI Collective Communication - PARCOACH: Combining static and dynamic validation of MPI collective communications - Static Validation of Barriers and Worksharing Constructs in OpenMP Applications - Correctness Analysis of MPI-3 Non-Blocking Communications in PARCOACH - Static/Dynamic Validation of MPI Collective Communications in Multi-threaded Context - MPI Thread-Level Checking for MPI+OpenMP Applications - PARCOACH Extension for Hybrid Applications with Interprocedural Analysis - PARCOACH Extension for a Full-Interprocedural Collectives Verification - Multi-Valued Expression Analysis for Collective Checking