English
Related papers

Related papers: Towards deductive verification of MPI programs aga…

200 papers

Session types are types for specifying the protocols that communicating processes must follow in a concurrent system. When composing two or more well-typed processes, a session typing system must check whether such processes are multiparty…

Logic in Computer Science · Computer Science 2023-05-26 Marco Carbone , Sonia Marin , Carsten Schürmann

Theories and tools based on multiparty session types offer correctness guarantees for concurrent programs that communicate using message-passing. These guarantees usually come at the cost of an intrinsically top-down approach, which…

Programming Languages · Computer Science 2021-11-29 Keigo Imai , Julien Lange , Rumyana Neykova

Message Passing Interfaces (MPI) plays an important role in parallel computing. Many parallel applications are implemented as MPI programs. The existing methods of bug detection for MPI programs have the shortage of providing both input and…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-09-16 Xianjin Fu , Zhenbang Chen , Yufeng Zhang , Chun Huang , Wei Dong , Ji Wang

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.

Logic in Computer Science · Computer Science 2021-10-19 Andrew M. Mironov

Session types are a discipline for the static verification of message-passing programs. A session type specifies a channel's protocol as sequences of exchanges. It is most relevant to investigate session-based concurrency by identifying the…

Programming Languages · Computer Science 2024-01-24 Alen Arslanagic , Jorge A. Pérez , Anda-Amelia Palamariuc

MPI accomplishes portable, standardized message-passing between processes by exposing a standard API that hides the implementation of the underlying mechanism for message passing. Until now, checkpointing an MPI program required knowledge…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-03-28 Gregory Michael Price

While application profiling has been a mainstay in the HPC community for years, profiling of MPI and other communication middleware has not received the same degree of exploration. This paper adds to the discussion of MPI profiling,…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-02-20 Riley Shipley , Garrett Hooten , David Boehme , Derek Schafer , Anthony Skjellum , Olga Pearce

MPI is the most widely used interface for high-performance computing (HPC) workloads. Its success lies in its embrace of libraries and ability to evolve while maintaining backward compatibility for older codes, enabling them to run on new…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-08-23 Jeff R. Hammond , Lisandro Dalcin , Erik Schnetter , Marc Pérache , Jean-Baptiste Besnard , Jed Brown , Gonzalo Brito Gadeschi , Joseph Schuchart , Simon Byrne , Hui Zhou

The true costs of high performance computing are currently dominated by software. Addressing these costs requires shifting to high productivity languages such as Matlab. MatlabMPI is a Matlab implementation of the Message Passing Interface…

Astrophysics · Physics 2015-05-26 Jeremy Kepner , Stan Ahalt

The current trend of multicore architectures on shared memory systems underscores the need of parallelism. While there are some programming model to express parallelism, thread programming model has become a standard to support these system…

Distributed, Parallel, and Cluster Computing · Computer Science 2010-12-13 D. T. Hasta , A. B. Mutiara

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

Sessions is one of the major features introduced in the MPI-4 standard. It offers an alternative to the traditional world communicator model by allowing applications to construct communicators from process sets, thereby eliminating the…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-05-06 Hui Zhou , Kenneth Raffenetti , Yanfei Guo , Michael Wilkins , Rajeev Thakur

In this paper, we address the problem of designing a distributed application meant to run both classical and asynchronous iterations. MPI libraries are very popular and widely used in the scientific community, however asynchronous iterative…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-07-01 Guillaume Gbikpi-Benissan , Frederic Magoules

Over the past two decades, C++ has been adopted as a major HPC language (displacing C to a large extent, andFortran to some degree as well). Idiomatic C++ is clearly how C++ is being used nowadays. But, MPIs syntax and semantics defined and…

Programming Languages · Computer Science 2021-07-23 Martin Ruefenacht , Derek Schafer , Anthony Skjellum , Purushotham V. Bangalore

This paper presents a formal approach to specify and verify object-oriented programs written in the `programming to interfaces' paradigm. Besides the methods to be invoked by its clients, an interface also declares a set of abstract…

Logic in Computer Science · Computer Science 2013-12-02 Jianhua Zhao , Xuandong LI

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

Containers represent a convenient way of packing applications with dependencies for easy user-level installation and productivity. When running on supercomputers, it becomes crucial to optimize the containers to exploit the performance…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-07-30 Alfio Lazzaro

Session types are a type-based approach to the verification of message-passing programs. They specify communication structures essential to enforcing program correctness; by relying on sequencing constructs, a session type can precisely…

Programming Languages · Computer Science 2025-05-14 Alen Arslanagić , Jorge A. Pérez , Dan Frumin

Hybrid MPI+threads programming is gaining prominence, but, in practice, applications perform slower with it compared to the MPI everywhere model. The most critical challenge to the parallel efficiency of MPI+threads applications is slow…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-06-30 Rohit Zambre , Aparna Chandramowlishwaran

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