A Test Implementation of the MPI Draft Message-Passing Standard Page: 1
The following text was automatically extracted from the image on this page using optical character recognition software:
A Test Implementation
of the MPI Draft Message-Passing Standard
William Gropp and Ewing Lusk
Message passing is a common method for programming parallel computers. The lack of a
standard has significantly impeded the development of portable software and libraries for these
machines. Recently, an ad-hoc committee was formed to develop a standard for message-passing
software for parallel computers. This group first met in April 1992 at a workshop sponsored
in part by the ('enter for Research on Parallel Computation ((CR'('). Four of the attendees
at that meeting produced a draft standard, henceforth referred to as the M PI (Message-Passing
Interface) draft standard. After review by a larger group, and significant. changes in the document,
a meeting was held in November to discuss the MP1 draft standard. This document is a result of
those discussions; it describes a running implementation of most of the proposed standard, plus
additional routines that were suggested by the discussions at the November meeting.
This document describes a test implementation of the Message-Passing Interface (MPI) draft stan-
dard. Supplying an implementation along with the standard itself provides several benefits. It allows
the draft, standard to be tested for expressivity and implementability. It brings to light potential in-
consistencies and omissions in the draft standard as the draft standard develops. It allows experiments
that measure possible restrictions on performance imposed by the draft standard.
Subject to the small number of restrictions and omissions cited below, it is an implementation of all
of the draft standard. It also includes other routines that might be considered for inclusion in the
draft. standard as it develops.
1.1 Structure of the Send and Receive Library
This implementation provides a relatively large number of simple operations that are small and there-
fore easy to describe precisely. Larger operations can then be implemented and defined in terms of
these operations. The basic send and receive operations are broken down as follows:
S b send i u
recv l ] r '
where the first letter specifies the layout of the data, the second specifies the extent to which the
calling process synchronizes with the local message-passing subsystem and with the remote one, the
next four letters specify a send or receive operation, and the final letter(s) specify optional additional
c (contiguous) The bytes are to be sent from or received into a contiguous region of memory,
described by starting address and length.
s (stride) The data to be sent consists of data items of the same type and size, separated by
a constant distance (stride) in memory, described by a starting address, length of a single
itemi, and niimber of items.
Here’s what’s next.
This report can be searched. Note: Results may vary based on the legibility of text within the document.
Tools / Downloads
Get a copy of this page or view the extracted text.
Citing and Sharing
Basic information for referencing this web page. We also provide extended guidance on usage rights, references, copying or embedding.
Reference the current page of this Report.
Gropp, William & Lusk, Ewing L. A Test Implementation of the MPI Draft Message-Passing Standard, report, December 1992; Argonne, Illinois. (digital.library.unt.edu/ark:/67531/metadc283134/m1/3/: accessed January 16, 2019), University of North Texas Libraries, Digital Library, digital.library.unt.edu; crediting UNT Libraries Government Documents Department.