ABSTRACT
PARCOACH is one of the few verification tools that mainly relies on a static analysis to detect errors in MPI programs. First focused on the detection of call ordering errors with collectives, it has recently been extended to detect local concurrency errors in MPI-RMA programs. Furthermore, the new version of the tool fixes multiple errors and is easier to use. This paper presents the improvements we made and the results we obtained on the MPI Bugs Initiative.
- Tassadit Aitkaci. 2022. Analyse et optimisations pour les applications HPC à mémoire distribuée et adressable globalement. Ph. D. Dissertation. University of Bordeaux.Google Scholar
- Saillard Emmanuelle, Carribault Patrick, and Barthou Denis. 2014. PARCOACH: Combining static and dynamic validation of MPI collective communications. IJHPCA 28, 4 (2014), 425–434.Google Scholar
- Pierre Huchant, Emmanuelle Saillard, Denis Barthou, Hugo Brunie, and Patrick Carribault. 2018. PARCOACH Extension for a Full-Interprocedural Collectives Verification. In Second International Workshop on Software Correctness for HPC Applications.Google ScholarCross Ref
- Mathieu Laurent, Emmanuelle Saillard, and Martin Quinson. 2021. The MPI Bugs Initiative: a Framework for MPI Verification Tools Evaluation. In 2021 IEEE/ACM 5th International Workshop on Software Correctness for HPC Applications (Correctness). 1–9. https://doi.org/10.1109/Correctness54621.2021.00008Google ScholarCross Ref
- Emmanuelle Saillard, Marc Sergent, Tassadit Célia Aitkaci, and Denis Barthou. 2022. Static Local Concurrency Errors Detection in MPI-RMA Programs. In Correctness 2022 - Sixth International Workshop on Software Correctness for HPC Applications. Dallas, United States.Google Scholar
- Aitkaci Tassadit, Sergent Marc, Saillard Emmanuelle, Barthou Denis, and Guillaume Papaure. 2021. Dynamic Data Race Detection for MPI-RMA Programs. In EuroMPI 2021.Google Scholar
Index Terms
- Highlighting PARCOACH Improvements on MBI
Recommendations
Verification of MPI programs using CIVL
EuroMPI '17: Proceedings of the 24th European MPI Users' Group MeetingCIVL is a framework for verifying concurrent programs. The framework is built around a language, CIVL-C, that extends sequential C with general-purpose primitives that can be used to model a variety of concurrency dialects, including OpenMP, Pthreads, ...
Combining symbolic execution and model checking to verify MPI programs
ICSE '18: Proceedings of the 40th International Conference on Software Engineering: Companion ProceeedingsMessage Passing Interface (MPI) has become the standard programming paradigm in high performance computing. It is challenging to verify MPI programs because of high parallelism and non-determinism. This paper presents MPI symbolic verifier (MPI-SV), the ...
PARCOACH: Combining static and dynamic validation of MPI collective communications
Nowadays most scientific applications are parallelized based on MPI communications. Collective MPI communications have to be executed in the same order by all processes in their communicator and the same number of times, otherwise they do not conform to ...
Comments