English
Related papers

Related papers: A C++20 Interface for MPI 4.0

200 papers

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

We present Matrix Distributed Processing, a C++ library for fast development of efficient parallel algorithms. MDP is based on MPI and consists of a collection of C++ classes and functions such as lattice, site and field. Once an algorithm…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Massimo Di Pierro

GPU-enhanced architectures are now dominant in HPC systems, but message-passing communication involving GPUs with MPI has proven to be both complex and expensive, motivating new approaches that lower such costs. We compare and contrast…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-08-01 Patrick G. Bridges , Anthony Skjellum , Evan D. Suggs , Derek Schafer , Purushotham V. Bangalore

Application development for distributed computing "Grids" can benefit from tools that variously hide or enable application-level management of critical aspects of the heterogeneous environment. As part of an investigation of these issues,…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 N. T. Karonis , B. Toonen , I. Foster

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

This work presents an extension to MPI supporting the one-sided communication model and window allocations in storage. Our design transparently integrates with the current MPI implementations, enabling applications to target MPI windows in…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-04-28 Sergio Rivas-Gomez , Stefano Markidis , Ivy Bo Peng , Erwin Laure , Gokcen Kestor , Roberto Gioiosa

Concurrently coupled numerical simulations using heterogeneous solvers are powerful tools for modeling multiscale phenomena. However, major modifications to existing codes are often required to enable such simulations, posing significant…

Computational Physics · Physics 2015-05-18 Yu-Hang Tang , Shuhei Kudo , Xin Bian , Zhen Li , George E. Karniadakis

We present a simple and easy to apply methodology for using high-level self-submitting parallel job queues in an MPI environment. Using C++, we implemented a library of functions, MPQueue, both for testing our concepts and for use in real…

Distributed, Parallel, and Cluster Computing · Computer Science 2012-04-23 John M. Neuberger , Nandor Sieben , James W. Swift

The evolution of architectures, programming models, and algorithms is driving communication towards greater asynchrony and concurrency, usually in multithreaded environments. We present LCI, a communication library designed for efficient…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-08-26 Jiakun Yan , Marc Snir

Partitioned communication was introduced in MPI 4.0 as a user-friendly interface to support pipelined communication patterns, particularly common in the context of MPI+threads. It provides the user with the ability to divide a global buffer…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-08-15 Thomas Gillis , Ken Raffenetti , Hui Zhou , Yanfei Guo , Rajeev Thakur

Offload of MPI collectives to network devices, e.g., NICs and switches, is being implemented as an effective mechanism to improve application performance by reducing inter- and intra-node communication and bypassing MPI software layers.…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-06-01 Pouya Haghi , Ryan Marshall , Po Hao Chen , Anthony Skjellum , Martin Herbordt

The use of hybrid scheme combining the message passing programming models for inter-node parallelism and the shared memory programming models for node-level parallelism is widely spread. Existing extensive practices on hybrid Message…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-07-23 Huan Zhou , Jose Gracia , Naweiluo Zhou , Ralf Schneider

C++ advocates exceptions as the preferred way to handle unexpected behaviour of an implementation in the code. This does not integrate well with the error handling of MPI, which more or less always results in program termination in case of…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-04-16 Christian Engwer , Mirco Altenbernd , Nils-Arne Dreier , Dominik Göddeke

Upcoming HPC clusters will feature hybrid memories and storage devices per compute node. In this work, we propose to use the MPI one-sided communication model and MPI windows as unique interface for programming memory and storage. We…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-10-10 Sergio Rivas-Gomez , Roberto Gioiosa , Ivy Bo Peng , Gokcen Kestor , Sai Narasimhamurthy , Erwin Laure , Stefano Markidis

The advent of multi-/many-core processors in clusters advocates hybrid parallel programming, which combines Message Passing Interface (MPI) for inter-node parallelism with a shared memory model for on-node parallelism. Compared to the…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-07-15 Huan Zhou , Jose Gracia , Ralf Schneider

The Message Passing Interface (MPI) has been extremely successful as a portable way to program high-performance parallel computers. This success has occurred in spite of the view of many that message passing is difficult and that other…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 William D. Gropp

MPI+threads is gaining prominence as an alternative to the traditional MPI everywhere model in order to better handle the disproportionate increase in the number of cores compared with other on-node resources. However, the communication…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-05-04 Rohit Zambre , Aparna Chandramowlishwaran , Pavan Balaji

This paper provides the description of a novel, multi-purpose spline library. In accordance with the increasingly diverse modes of usage of splines, it is multi-purpose in the sense that it supports geometry representation, finite element…

Mathematical Software · Computer Science 2020-02-28 Markus Frings , Norbert Hosters , Corinna Müller , Max Spahn , Christoph Susen , Konstantin Key , Stefanie Elgeti

The MPI standard has long included one-sided communication abstractions through the MPI Remote Memory Access (RMA) interface. Unfortunately, the MPI RMA chapter in the 4.0 version of the MPI standard still contains both well-known and…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-11-17 Joseph Schuchart , Christoph Niethammer , José Gracia , George Bosilca

The increasing complexity of HPC architectures and the growing adoption of irregular scientific algorithms demand efficient support for asynchronous, multithreaded communication. This need is especially pronounced with Asynchronous…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-08-27 Jiakun Yan , Marc Snir , Yanfei Guo