PARCOACH: PARallel COntrol flow Anomaly CHecker
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. PARCOACH, the PARallel COntrol flow Anomaly CHecker, aims at helping developers in their debugging phase. It combines static and dynamic analyses to detect misuse of collectives in parallel applications.