MPIIntroduction to the Message-Passing Interface
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 should 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, Intels NX/2, Express, nCUBEs Vertex, p4, and PARMACS. Other important contributions have come from Zipcode, Chimp, PVM, Chameleon, and PICL.
MPI is a specification (like C or Fortran) and there are a number of implementations. The rest of this man page describes the use of the MPICH implementation of MPI.
Add MPI to your path
% set path = ( $path /usr/local/mpi/bin )Compute pi to a given resolution on 8 processors or threads
% mpirun -np 8 /usr/local/mpi/examples/basic/fpiTry 10000 intervals at the prompt. Fortran source is available in this directory, along with a similar C program (cpi.c).
A coarse timing program is also available here
% mpirun -np 8 /usr/local/mpi/examples/basic/systestMore sophisticated timing programs may be found in the source for the MPICH implementation of MPI (/home/MPI/mpich/examples/perftest).
You can compile and link your own MPI programs with the commands mpicc and mpif77.
% mpicc -o cpi cpi.c % mpif77 -o fpi fpi.f
Postscript documentation can be found in directory /usr/local/mpi/doc/. These include an introductory guide (guide.ps) and a user manual (manual.ps).
Man pages exist for every MPI subroutine and function. The command mpiman will start an xman for the MPI manual pages. The man pages are also available on the Web at http://www.mcs.anl.gov/mpi/www. Additional on-line information is available at http://www.mcs.anl.gov/mpi, including a hypertext version of the standard, information on other libraries that use MPI, and pointers to other MPI resources.
MPICH version 1.1.2
Copyright 1993-1998 University of Chicago and Mississippi State University. See COPYRIGHT for details. The source code is freely available by anonymous ftp from ftp.mcs.anl.gov in pub/mpi/mpich.tar.gz .
/usr/local/mpi/ MPI software directory /usr/local/mpi/COPYRIGHT Copyright notice /usr/local/mpi/README various notes and instructions /usr/local/mpi/bin/ binaries, including mpirun /usr/local/mpi/examples/basic elementary MPI programs /usr/local/mpi/doc/ documentation /usr/local/mpi/include/ include files /usr/local/mpi/lib/ library files
For comments regarding the local installation of MPI, please send mail to firstname.lastname@example.org. MPI-specific suggestions and bug reports should be sent directly to email@example.com.
AcknowledgementThanks to Richard Frost for suggesting this page and providing a sample.