English
Related papers

Related papers: MPISE: Symbolic Execution of MPI Programs

200 papers

Program correctness is one of the most difficult challenges in parallel programming. Message Passing Interface MPI is widely used in writing parallel applications. Since MPI is not a compiled language, the programmer will be enfaced with…

Programming Languages · Computer Science 2013-11-05 Alaa I. El-Nashar , Nakamura Masaki

Message Passing Interface (MPI) is the most commonly used paradigm in writing parallel programs since it can be employed not only within a single processing node but also across several connected ones. Data flow analysis concepts,…

Programming Languages · Computer Science 2013-11-06 Alaa Ismail Elnashar , Sultan Aljahdali , Mosaid Al Sadhan

Message passing is the standard paradigm of programming in high-performance computing. However, verifying Message Passing Interface (MPI) programs is challenging, due to the complex program features (such as non-determinism and non-blocking…

Programming Languages · Computer Science 2020-01-20 Hengbiao Yu , Zhenbang Chen , Xianjin Fu , Ji Wang , Zhendong Su , Jun Sun , Chun Huang , Wei Dong

The Message Passing Interface (MPI) is widely used in parallel, high-performance programming, yet writing bug-free software that uses MPI remains difficult. We introduce DafnyMPI, a novel, scalable approach to formally verifying MPI…

Programming Languages · Computer Science 2025-12-23 Aleksandr Fedchin , Antero Mejr , Hari Sundar , Jeffrey S. Foster

Symbolic execution is a program analysis technique executing programs with symbolic instead of concrete inputs. This principle allows for exploring many program paths at once. Despite its wide adoption -- in particular for program testing…

Programming Languages · Computer Science 2023-10-13 Arthur Correnson , Dominic Steinhoefel

The Message Passing Interface (MPI) framework is widely used in implementing imperative pro- grams that exhibit a high degree of parallelism. The PARTYPES approach proposes a behavioural type discipline for MPI-like programs in which a type…

Programming Languages · Computer Science 2017-04-12 Francisco Martins , Vasco Thudichum Vasconcelos , Hans Hüttel

The Message Passing Interface specification (MPI) defines a portable message-passing API used to program parallel computers. MPI programs manifest a number of challenges on what concerns correctness: sent and expected values in…

Programming Languages · Computer Science 2015-08-21 César Santos , Francisco Martins , Vasco Thudichum Vasconcelos

The Message Passing Interface (MPI) is the prevalent programming model used on today's supercomputers. Therefore, MPI library developers are looking for the best possible performance (shortest run-time) of individual MPI functions across…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-05-30 Sascha Hunold , Alexandra Carpen-Amarie

Debugging parallel and distributed programs is a difficult activitiy due to the multiplicity of sequential bugs, the existence of malign effects like race conditions and deadlocks, and the huge amounts of data that have to be processed.…

Software Engineering · Computer Science 2009-10-02 Dieter Kranzlmueller , Christian Schaubschlaeger , Jens Volkert

We introduce a novel technique for finding real errors in programs. The technique is based on a synergy of three well-known methods: metacompilation, slicing, and symbolic execution. More precisely, we instrument a given program with a code…

Programming Languages · Computer Science 2012-01-24 Jiří Slabý , Jan Strejček , Marek Trtík

The Message Passing Interface (MPI) is the most commonly used application programming interface for process communication on current large-scale parallel systems. Due to the scale and complexity of modern parallel architectures, it is…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-09-05 Sascha Hunold , Alexandra Carpen-Amarie , Felix Donatus Lübbe , Jesper Larsson Träff

In message passing programs, once a process terminates with an unexpected error, the terminated process can propagate the error to the rest of processes through communication dependencies, resulting in a program failure. Therefore, to…

Software Engineering · Computer Science 2007-05-23 Masao Okita , Fumihiko Ino , Kenichi Hagihara

Identifying errors in parallel MPI programs is a challenging task. Despite the growing number of verification tools, debugging parallel programs remains a significant challenge. This paper is the first to utilize embedding and deep learning…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-03-06 Jad El Karchi , Hanze Chen , Ali TehraniJamsaz , Ali Jannesari , Mihail Popov , Emmanuelle Saillard

Comprehending the performance bottlenecks at the core of the intricate hardware-software interactions exhibited by highly parallel programs on HPC clusters is crucial. This paper sheds light on the issue of automatically asynchronous MPI…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-09-06 Ayesha Afzal , Georg Hager , Stefano Markidis , Gerhard Wellein

Symbolic execution has shown its ability to find security-relevant flaws in software, but faces significant scalability challenges. There is a commonly held belief that manual intervention by an expert can help alleviate these limiting…

Software Engineering · Computer Science 2018-05-10 John Galea , Sean Heelan , Daniel Neville , Daniel Kroening

The Message Passing Interface (MPI) is the de facto standard message-passing infrastructure for developing parallel applications. Two decades after the first version of the library specification, MPI-based applications are nowadays…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-12-11 Eduardo R. B. Marques , Francisco Martins , Vasco T. Vasconcelos , Nicholas Ng , Nuno Martins

MatlabMPI is a Matlab implementation of the Message Passing Interface (MPI) standard and allows any Matlab program to exploit multiple processors. MatlabMPI currently implements the basic six functions that are the core of the MPI…

Astrophysics · Physics 2007-05-23 Jeremy Kepner

We describe a technique for systematic testing of multi-threaded programs. We combine Quasi-Optimal Partial-Order Reduction, a state-of-the-art technique that tackles path explosion due to interleaving non-determinism, with symbolic…

Programming Languages · Computer Science 2020-07-23 Daniel Schemmel , Julian Büning , César Rodríguez , David Laprell , Klaus Wehrle

Message Passing Interface (MPI) is a foundational technology in high-performance computing (HPC), widely used for large-scale simulations and distributed training (e.g., in machine learning frameworks such as PyTorch and TensorFlow).…

Software Engineering · Computer Science 2026-04-06 Scott Piersall , Yang Gao , Shenyang Liu , Liqiang Wang

A model of MPI synchronization communication programs is presented and its three basic simplified models are also defined. A series of theorems and methods for deciding whether deadlocks will occur among the three models are given and…

Distributed, Parallel, and Cluster Computing · Computer Science 2008-01-28 Ming-xue Liao , Zhi-hua Fan
‹ Prev 1 2 3 10 Next ›