• Corpus ID: 239016731

Verification of MPI programs

@article{Mironov2021VerificationOM,
  title={Verification of MPI programs},
  author={Andrew M. Mironov},
  journal={ArXiv},
  year={2021},
  volume={abs/2110.08537}
}
  • A. Mironov
  • Published 16 October 2021
  • Computer Science
  • ArXiv
In this paper, we outline an approach to verifying parallel programs. A new mathematical model of parallel programs is introduced. The introduced model is illustrated by the verification of the matrix multiplication MPI program. 

References

SHOWING 1-10 OF 10 REFERENCES
Model Checking Nonblocking MPI Programs
TLDR
A way to apply model checking techniques to parallel programs that use the nonblocking primitives of the Message Passing Interface (MPI) as an extension to the model checker Spin called Mpi-Spin.
Formal analysis of MPI-based parallel programs
The goal is reliable parallel simulations, helping scientists understand nature, from how foams compress to how ribosomes construct proteins.
Protocol-based verification of message-passing parallel programs
We present ParTypes, a type-based methodology for the verification of Message Passing Interface (MPI) programs written in the C programming language. The aim is to statically verify programs against
Verification of MPI programs using CIVL
TLDR
The result is a verifier that can check, within finite bounds, a number of difficult properties of MPI programs, including functional correctness, deadlock-freedom, and adherence to rules specified in the MPI Standard.
Symbolic Verification of Message Passing Interface Programs
TLDR
This work presents MPI symbolic verifier (MPI-SV), the first symbolic execution based tool for automatically verifying MPI programs with non-blocking operations and achieves 19x speedup on verifying the satisfaction of the critical property and 5x speedups on finding violations.
Combining symbolic execution with model checking to verify parallel numerical programs
TLDR
A method to verify the correctness of parallel programs that perform complex numerical computations, including computations involving floating-point arithmetic, using model checking, together with symbolic execution, to establish the equivalence of the two programs.
Precise Predictive Analysis for Discovering Communication Deadlocks in MPI Programs
TLDR
This article shows that if an MPI program is single path, the problem of discovering communication deadlocks is NP-complete, and presents a novel propositional encoding scheme that captures the existence of communication deadlock.
Dynamic Verification of MPI Programs with Reductions in Presence of Split Operations and Relaxed Orderings
TLDR
This is the first dynamic model-checking algorithm with reductions for (a large subset of) MPI that guarantees to catch all deadlocks and local assertion violations, and is found to work well in practice.
Evaluation of model checkers by verifying message passing programs
TLDR
This study presents a large-scale benchmark for evaluating model checkers whose inputs are concurrent models and evaluated five state-of-the-art model checker, i.e., PAT, FDR, Spin, PRISM, and NuSMV by verifying the deadlock freedom property.
Formal Analysis of Message Passing
  • Verification, Model Checking, and Abstract Interpretation: 12th International Conference, VMCAI 2011,
  • 2011