English
Related papers

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

200 papers

A reasonable C++ Java Native Interface (JNI) technique termed C++ Wrappered JNI (C++WJ) is presented. The technique simplifies current error-prone JNI development by wrappering JNI calls. Provided development is done with the aid of a C++…

Software Engineering · Computer Science 2007-05-23 Craig Bordelon

Faults in high-performance systems are expected to be very large in the current exascale computing era. To compensate for a higher failure rate, the standard checkpoint/restart technique would need to create checkpoints at a much higher…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-04-15 Sarthak Joshi , Sathish Vadhiyar

We define an abstract framework for object-oriented programming and show that object-oriented languages, such as C++, can be interpreted as parallel programming languages. Parallel C++ code is typically more than ten times shorter than the…

Programming Languages · Computer Science 2019-03-04 Edward Givelberg

The development of the mlpack C++ machine learning library (http://www.mlpack.org/) has required the design and implementation of a flexible, robust optimization system that is able to solve the types of arbitrary optimization problems that…

Mathematical Software · Computer Science 2017-11-20 Ryan R. Curtin , Shikhar Bhardwaj , Marcus Edel , Yannis Mentekidis

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

MP net is a formal model specifically designed for the field of parallel applications that use a message passing interface. The main idea is to use MP net as a comprehensible way of presenting the actual structure of communication within…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-04-01 Martin Šurkovský

MPI's derived datatypes (DDTs) promise easier, copy-free communication of non-contiguous data, yet their practical performance remains debated and is often reported only for a single MPI stack. We present a cross-implementation assessment…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-11-19 Temitayo Adefemi

The I/O access patterns of many parallel applications consist of accesses to a large number of small, noncontiguous pieces of data. If an application's I/O needs are met by making many small, distinct I/O requests, however, the I/O…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Rajeev Thakur , William Gropp , Ewing Lusk

We present MGPU, a C++ programming library targeted at single-node multi-GPU systems. Such systems combine disproportionate floating point performance with high data locality and are thus well suited to implement real-time algorithms. We…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-03-03 Sebastian Schaetz , Martin Uecker

C++ leans towards a memory-inefficient storage of structs: The compiler inserts padding bits, while it is not able to exploit knowledge about the range of integers, enums or bitsets. Furthermore, the language provides no support for…

Mathematical Software · Computer Science 2025-12-23 Pawel K. Radtke , Cristian G. Barrera-Hinojosa , Mladen Ivkovic , Tobias Weinzierl

Taking snapshots of the state of a distributed computation is useful for off-line analysis of the computational state, for later restarting from the saved snapshot, for cloning a copy of the computation, and for migration to a new cluster.…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-10-09 Yao Xu , Gene Cooperman

Removing the CPU from the communication fast path is essential to efficient GPU-based ML and HPC application performance. However, existing GPU communication APIs either continue to rely on the CPU for communication or rely on APIs that…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-03-06 Patrick G. Bridges , Derek Schafer , Jack Lange , James B. White , Anthony Skjellum , Evan Suggs , Thomas Hines , Purushotham Bangalore , Matthew G. F. Dosanjh , Whit Schonbein

Version 3.0 of the Message-Passing Interface (MPI) standard, released in 2012, introduced a new set of language bindings for Fortran 2008. By making use of modern language features and the enhanced interoperability with C, there was finally…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-09-18 Gregor Corbin

MLI is an Application Programming Interface designed to address the challenges of building Machine Learn- ing algorithms in a distributed setting based on data-centric computing. Its primary goal is to simplify the development of…

In this paper, we introduce Continuation Passing C (CPC), a programming language for concurrent systems in which native and cooperative threads are unified and presented to the programmer as a single abstraction. The CPC compiler uses a…

Programming Languages · Computer Science 2012-11-15 Gabriel Kerneis , Juliusz Chroboczek

MPI collective operations provide a standardized interface for performing data movements within a group of processes. The efficiency of collective communication operations depends on the actual algorithm, its implementation, and the…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-08-11 Sascha Hunold , Alexandra Carpen-Amarie

The actor model of computation has gained significant popularity over the last decade. Its high level of abstraction makes it appealing for concurrent applications in parallel and distributed systems. However, designing a real-world actor…

Programming Languages · Computer Science 2018-10-16 Dominik Charousset , Raphael Hiesgen , Thomas C. Schmidt

Modern compute nodes in high-performance computing provide a tremendous level of parallelism and processing power. However, as arithmetic performance has been observed to increase at a faster rate relative to memory and network bandwidths,…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-05-11 Johannes Pekkilä , Miikka S. Väisälä , Maarit J. Käpylä , Matthias Rheinhardt , Oskar Lappi

We present a new method for performing global redistributions of multidimensional arrays essential to parallel fast Fourier (or similar) transforms. Traditional methods use standard all-to-all collective communication of contiguous memory…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-04-26 Lisandro Dalcin , Mikael Mortensen , David E Keyes

Operating Systems are built upon a set of abstractions to provide resource management and programming APIs for common functionality, such as synchronization, communication, protection, and I/O. The process abstraction is the bridge across…

Operating Systems · Computer Science 2022-05-26 Rodrigo Siqueira , Nelson Lago , Fabio Kon , Dejan Milojičić