Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!news.kodak.com!news-nysernet-16.sprintlink.net!news-east1.sprintlink.net!news-peer1.sprintlink.net!news.sprintlink.net!netnews.com!news.idt.net!peerfeed.news.psi.net!uunet!ffx.uu.net!in5.uu.net!finch!nntp.msstate.edu!shane
From: [email protected] (Shane Hebert)
Newsgroups: comp.parallel.mpi,comp.answers,news.answers
Subject: Message Passing Interface (MPI) FAQ
Supersedes: <[email protected]>
Followup-To: poster
Date: 02 May 1999 06:00:36 GMT
Organization: Mississippi State University NSF Engineering Research
             Center for Computational Field Simulation
Lines: 532
Approved: [email protected]
Expires: 06 Jun 1999 06:00:36 GMT
Message-ID: <[email protected]>
NNTP-Posting-Host: titan.erc.msstate.edu
Summary: This posting contains a list of common questions (and their
        answers) about the Message Passing Interface standard (also
        known as MPI).
Keywords: FAQ, MPI, Parallel & Distributed Computing
Originator: [email protected]
Xref: senator-bedfellow.mit.edu comp.parallel.mpi:5315 comp.answers:36016 news.answers:157054

Archive-Name: mpi-faq
Posting-Frequency: monthly

 Message Passing Interface (MPI) FAQ
 Shane Hebert, [email protected]
 Last modified: Tues Jan 13 13:58:32 1997

 This is the list of Frequently Asked Questions about the MPI (Message
 Passing Interface) standard, a set of library functions for message
 passing.  For a list of the latest changes to this document, see sec-
 tion ``What's New?''.  Comments on the FAQ are welcome.  See question
 ``Formats'' for details of where to get the PostScript, Emacs Info,
 HTML, and text versions of this document.

 1.  Introduction and General Information


 This FAQ attempts to answer basic questions regarding MPI.  Pointers
 to further information on MPI are included for those wishing to know
 more.



 1.1.  What is MPI?

 MPI stands for Message Passing Interface.  The goal of MPI, simply
 stated, is to develop a widely used standard for writing message-
 passing programs. As such the interface attempts to establish a
 practical, portable, efficient, and flexible standard for message
 passing.

 In designing MPI the MPI Forum sought to make use of the most
 attractive features of a number of existing message passing systems,
 rather than selecting one of them and adopting it as the standard.
 Thus, MPI has been strongly influenced by work at the IBM T. J. Watson
 Research Center, Intel's NX/2, Express, nCUBE's Vertex, p4, and
 PARMACS. Other important contributions have come from Zipcode, Chimp,
 PVM, Chameleon, and PICL.

 The main advantages of establishing a message-passing standard are
 portability and ease-of-use. In a distributed memory communication
 environment in which the higher level routines and/or abstractions are
 build upon lower level message passing routines the benefits of
 standardization are particularly apparent.  Furthermore, the
 definition of a message passing standard provides vendors with a
 clearly defined base set of routines that they can implement
 efficiently, or in some cases provide hardware support for, thereby
 enhancing scalability.

 Source: MPI Document -  <http://www.mpi-
 forum.org/docs/mpi-11-html/mpi-report.html>.



 1.2.  What is the MPI Forum?

 Message Passing Interface Forum

 The Message Passing Interface Forum (MPIF), with participation from
 over 40 organizations, met from November 1992 to April 1994 to discuss
 and define a set of library interface standards for message passing.
 Version 1.0 of the standard was released on May 5, 1994.  Beginning in
 March, 1995, the MPIF reconvened to correct errors and make
 clarifications in the MPI document of May 5, 1994.  These discussions
 resulted in Version 1.1 (dated June, 1995) which contained only minor
 changes from Version 1.0.  MPI-2 meetings began April, 1995 and met
 every six weeks until April 25, 1997.  At the end of that meeting, the
 entire MPI-2 Document was unanimously accepted by all voting
 institutions.  For more information on the MPI-2 process, see the
 section on the MPI-2 effort (Section ``MPI-2'').

 The MPIF is not sanctioned or supported by any official standards
 organization.

 Source: MPI Document -  <http://www.mpi-
 forum.org/docs/mpi-11-html/mpi-report.html>.



 1.3.  A Brief History of MPI

 The MPI standardization effort involved about 60 people from 40
 organizations mainly from the United States and Europe. Most of the
 major vendors of concurrent computers were involved in MPI, along with
 researchers from universities, government laboratories, and industry.
 The standardization process began with the Workshop on Standards for
 Message Passing in a Distributed Memory Environment, sponsored by the
 Center for Research on Parallel Computing, held April 29-30, 1992, in
 Williamsburg, Virginia. At this workshop the basic features essential
 to a standard message passing interface were discussed, and a working
 group established to continue the standardization process.

 A preliminary draft proposal, known as MPI1
 <ftp://netlib2.cs.utk.edu/mpi/mpi1.ps>, was put forward by Dongarra,
 Hempel, Hey, and Walker in November 1992, and a revised version was
 completed in February 1993. MPI1 embodied the main features that were
 identified at the Williamsburg workshop as being necessary in a
 message passing standard. Since MPI1 was primarily intended to promote
 discussion and ``get the ball rolling,'' it focused mainly on point-
 to-point communications. MPI1 brought to the forefront a number of
 important standardization issues, but did not include any collective
 communication routines and was not thread-safe.

 In November 1992, a meeting of the MPI working group was held in
 Minneapolis, at which it was decided to place the standardization
 process on a more formal footing, and to generally adopt the
 procedures and organization of the High Performance Fortran Forum.
 Subcommittees were formed for the major component areas of the
 standard, and an email discussion service established for each. In
 addition, the goal of producing a draft MPI standard by the Fall of
 1993 was set. To achieve this goal the MPI working group met every 6
 weeks for two days throughout the first 9 months of 1993, and
 presented the draft MPI standard at the Supercomputing 93 conference
 in November 1993. These meetings and the email discussion together
 constituted the MPI Forum, membership of which was and continues to be
 open to all members of the high performance computing community.

 Beginning in March, 1995, the MPIF reconvened to correct errors and
 make clarifications in the MPI document of May 5, 1994.  These
 discussions resulted in Version 1.1 (dated June, 1995) which contained
 only minor changes from Version 1.0.  MPI-2 meetings began April, 1995
 and met every six weeks until April 25, 1997.  At this meeting, the
 MPI-2 Document was unanimously accepted.  For more information on the
 MPI-2 process, see the section on the MPI-2 effort (Section
 ``MPI-2'').

 Source: MPI Document -  <http://www.mpi-
 forum.org/docs/mpi-11-html/mpi-report.html>.



 1.4.  The MPI-1 Document

 There are two versions of the MPI document:  version 1.0 (dated May 5,
 1994) and version 1.1 (dated June, 1995).
 o  Version 1.1 (June 12, 1995)

    Version 1.1 (June 12, 1995) of the MPI Document is available on-
    line as HTML at <http://www.mpi-forum.org/docs/mpi-11-html/mpi-
    report.html>.  It is also available as postscript from the
    following locations:

 o  <http://www.mpi-forum.org/docs/mpi-11.ps>

 o  <ftp://ftp.erc.msstate.edu/pub/mpi/docs/mpi-report1.1.ps>

    A compressed version of the postscript document is available from

 o  <http://www.mpi-forum.org/docs/mpi-11.ps.Z>

 o  <ftp://ftp.erc.msstate.edu/pub/mpi/docs/mpi-report1.1.ps.Z>


 o  Version 1.0 (May 5, 1994)

    The official postscript version of the document can be obtained
    from netlib at ORNL by sending a mail message to [email protected]
    with the message "send mpi-report.ps from mpi".

    It may also be obtained by anonymous ftp from the following sites:

 o  <ftp://netlib2.cs.utk.edu/mpi/mpi-report.ps>

 o  <ftp://ftp.erc.msstate.edu/pub/mpi/docs/mpi-report.ps.Z>

 o  <http://www.mpi-forum.org/docs/mpi-10.ps>

 o  <http://www.mpi-forum.org/docs/mpi-10.ps.Z>



 2.  Online Resources



 2.1.  WWW Sites




    Official Message Passing Interface (MPI) Homepage <http://www.mpi-
       forum.org>
       MPI-Forum.Org is the official homesite of the MPI Forum and
       contains official Forum documents and the MPI Standard documents
       in a variety of formats.


    Argonne MPI Homepage <http://www.mcs.anl.gov/mpi>
       The Argonne National Lab MPI Homepage has a large collection of
       accumulated information about MPI, including pointers to
       implementations and tutorials by the site maintainers and
       others.


    Official MPICH Homepage <http://www.mcs.anl.gov/mpich>
       The Official MPICH Homepage has buttons for downloading MPICH in
       various forms, buglists, patchfiles, and other MPICH-related
       stuff.



    Australian National University
       <http://cap.anu.edu.au/cap/projects/mpi/mpi.html>
       The Australian National University site contains information on
       the implementation of MPI on the Fujitsu AP1000 multicomputer
       located at the Australian National University as well as various
       links to other MPI information.


    Mississippi State University <http://www.erc.msstate.edu/mpi/>
       Contains pointers to MPI resources on the Web, pointers to
       implementations, pointers to tutorials, pointers to libraries,
       and other things.  Home site of the MPI FAQ.


    MPI-2 Mailing List Archives <http://www.mpi-
       forum.org/archives/mail/mail.html>
       The MPI-Forum web page now contains the mail archive of the
       MPI-2 Forum mailing lists.


    Netlib <http://www.netlib.org/mpi/>
       Netlib has a fairly large repository of MPI information. It
       contains such items as the original MPI1 proposal and minutes
       from several of the MPI Forum meetings.


    Oak Ridge National Laboratory
       <http://www.epm.ornl.gov/~walker/mpi/>
       Oak Ridge maintains a well-organized resource center for MPI-
       related materials.


    Notre Dame LAM <http://www.mpi.nd.edu/lam>
       Notre Dame is now the home location for information about LAM,
       one of the public domain MPI implementations.


    MPI Validation Suite <http://www.ssd.intel.com/mpi.html>
       Intel's "MPI Validation Suite" is now available to the public.
       To download a copy, please visit the site above.




 2.2.  Newsgroup


 An MPI-specific newsgroup, comp.parallel.mpi was created by a vote of
 506 to 14.  The RFD for comp.parallel.mpi was originally posted to
 comp.parallel, comp.parallel.pvm, and news.announce.newgroups on April
 4, 1994.  The CFV was issued June 15, 1994.  The voting results, RFD,
 and CFV can be retrieved by anonymous ftp from ftp.erc.msstate.edu as
 pub/mpi/newsgroup/result, pub/mpi/newsgroup/rfd and
 pub/mpi/newsgroup/cfv.



 2.3.  Implementations


 Many of the MPI WWW pages have information about the various MPI
 implementations.  The Ohio Supercomputing Center is attempting to
 maintain a comprehensive list of implementations at
 <http://www.lsc.nd.edu/MPI/>.  Information such as the supplier,
 current version, help contact, etc. can be found there.

 3.  MPI-2



 3.1.  MPI-2 Status

 It was decided at the final MPI-1 meeting (Feb. 1994) that plans for
 extending MPI should wait until people have had some experience with
 the current version of MPI.  The MPI Forum held a BOF session at
 Supercomputing '94 to discuss the possibility of an MPI-2 effort.  A
 decision was made to begin MPI-2 meetings in April of 1995.  These
 meetings were held approximately every six weeks until October 11,
 1997.  After that meeting, the customary two month public comment
 period was initiated.  At SuperComputing'96 (held in Pittsburgh, PA),
 the document was 'unveiled'.  Meetings began again in January, 1997
 and continued approximately every six weeks until April 25, 1997.  At
 this meeting, the MPI-2 Document was unanimously accepted by the
 voting institutions.  The MPI-2 Document is viewable as HTML
 <http://www.mpi-forum.org/docs/mpi-20-html/mpi2-report.html> or
 downloadable as compressed postscript <http://www.mpi-
 forum.org/docs/mpi-20.ps.Z> or downloadable as uncompressed postscript
 <http://www.mpi-forum.org/docs/mpi-20.ps>.



 3.2.  What features are included in MPI-2?


 There are several major subsections of functionality addressed in the
 MPI-2 Standard.

 o  Miscellaneous Topics

 o  Dynamic Process Management

 o  One-Sided Communication

 o  Extended Collective Operations

 o  External Interfaces

 o  Parallel I/O

 o  Language Bindings (C++ and Fortran-90)

    The I/O subcommittee was added after the MPI-2 process began. There
    were several other sections of the MPI-2 Document that were present
    during some form of the process that were removed from the document
    and placed in the Journal of Development (JOD).  This document,
    which is also downloadable from the web site  <http://www.mpi-
    forum.org/docs/mpi-20-jod.ps> was created so that ideas that were
    interesting but either were either of unknown value or weren't
    mature would not be lost and would be documented.  One chapter on
    Real-Time MPI which was placed in the JOD but developed into a
    standards body of its own.  This body has a web page located at
    <http://www.mpirt.org>.



 3.3.  What mailing lists were being used for MPI-2?

 If you wanted to participate in the discussion of a particular MPI-2
 topic, send mail to [email protected] containing:



         subscribe <list-name>  <your email address>




 The current mailing lists include:


              [email protected]     MPI Forum discussion list, all comments welcome
              [email protected]     MPI forum meeting attendees list

              mpi-dynamic    MPI Forum discussion list for dynamic process management
              mpi-1sided     MPI Forum discussion list for one-sided communication
              mpi-coll       MPI Forum discussion list for collective operations
              mpi-external   MPI Forum discussion list for external interfaces
              mpi-bind       MPI Forum discussion list for C++ and Fortran-90 bindings
              mpi-realtime   MPI Forum discussion list for real-time extensions
              mpi-io         MPI Forum discussion list for I/O






 3.4.  Where are the MPI-2 mailing lists archived?

 The MPI-2 mailing lists are archived using hypermail.  These archived
 mailing lists can be retrieved from <http://www.mpi-
 forum.org/archives/mail/mail.html>.



 3.5.  Where is the current MPI-2 document?

 The MPI-2 Document can be viewed as HTML as <http://www.mpi-
 forum.org/docs/mpi-20-html/mpi2-report.html> or can be downloaded in
 compressed postscript form as <http://www.mpi-
 forum.org/docs/mpi-20.ps.Z> or as uncompressed postscript form as
 <http://www.mpi-forum.org/docs/mpi-20.ps>.


 3.6.  Where can I find out more about MPI-2?


 More information on MPI-2 is available from
 <http://www.erc.msstate.edu/mpi/mpi2.html> and <http://www.mpi-
 forum.org>.  These sites contain information about minutes from MPI-2
 meetings, votes, etc.



 3.7.  What is MPI/RT?


 In the form of the MPI Forums, MPI/RT is a standards effort to design
 an MPI for Real-Time programming.  This Forum meets approximately
 every six weeks to:

 o  Create integrated messaging, scheduling, and parallel programming
    API together with syntax and semantics to support the emerging
    computational hierarchies of node architectures and gigabit/s
    networks efficiently.

 o  Expand the horizons of performance-portable real-time programming


 o  Support multiple real-time paradigms

 o  Enhance the performance of Messaging over MPI-1 and MPI-2

 o  Catalyze a new generation of portable parallel applications that
    require or benefit from the explicit use of time


 3.8.  Where can I find out more about MPI/RT?

 The MPI/RT Forum has a web site  <http://www.mpirt.org>.



 4.  Administrative Information and Acknowledgments



 4.1.  Recent changes to the FAQ


 o  Added references to MPI/RT.

 o  Changed the content of the FAQ to reflect the current status of
    MPI.

 o  Changed the format of the FAQ.



 4.2.  Formats in which this FAQ is Available


 This document is available as ASCII text, an Emacs Info document,
 PostScript, and HTML.  It is also available on the world wide web
 (WWW) at <http://www.erc.msstate.edu/mpi/mpi-faq.html> or at
 <http://www.cis.ohio-state.edu/hypertext/faq/usenet/mpi-faq/faq.html>

 The text, Emacs Info, HTML, and Postscript versions are generated
 automatically by Linuxdoc-SGML, a text-formating package based on SGML
 used by Linux Documentation Project.  Information on Linuxdoc-SGML can
 be found at <http://www.informatik.tu-muenchen.de/~schwarz/linuxdoc-
 sgml/>.

 The output files mpi-faq.txt, mpi-faq.info, mpi-faq.html, mpi-faq.ps,
 and mpi-faq.sgml are available at
 <ftp://ftp.erc.msstate.edu/pub/mpi/faq>.  A tarfile (mpi-
 faq.source.tar.gz) also is available which contains all of these
 files.



 4.3.  Where can I get a copy of this FAQ?


 In addition to finding it in those places listed in question
 ``Formats'', the text version is posted monthly to comp.parallel.mpi,
 news.answers, and comp.answers.

 The text version is also available through anonymous ftp from
 <ftp://rtfm.mit.edu/pub/usenet/news.answers/mpi-faq> and
 <ftp://ftp.erc.msstate.edu/pub/mpi/faq/mpi-faq.txt> or those without
 FTP access can send e-mail to [email protected] with "send
 usenet/news.answers/mpi-faq" in the message body.  You can also get a
 postscript verion from <ftp://ftp.erc.msstate.edu/pub/mpi/faq/mpi-
 faq.ps>
 4.4.  Disclaimer and Copyright


 Note that this document is provided as is.  The information in it is
 not warranted to be correct; you use it at your own risk.