next up previous contents
Next: Getting Started With Up: Beginner's Guide to MPI Previous: Contents

Introduction

MPI, the Message Passing Interface, is a library, and a software standard developed by the MPI Forum to make use of the most attractive features of existing message passing systems for parallel programming. Important contributions have come from the IBM T. J. Watson Research Center, Intel's NX/2, Express, nCUBE's Vertex, p4, PARMACS, Zipcode, Chimp, PVM, Chameleon, and PICL.

An MPI process consists of a C or Fortran 77 program which communicates with other MPI processes by calling MPI routines. The MPI routines provide the programmer with a consistent interface across a wide variety of different platforms. The MPI specification is based on a message passing model of computation where processes communicate and coordinate by sending and receiving messages. These messages can be of any size, up to the physical memory limit of the machine. MPI provides a variety of message passing options, offering maximal flexibility in message passing.

MPI is a specification (like C or Fortran) and there are a number of implementations. This guide describes the basic use of the MPICH implementation of MPI. Other implementations include LAM and CHIMP versions of MPI. These implementations are freely available by anonymous ftp:

  1. MPICH - info.mcs.anl.gov in the directory pub/mpi/mpich, file mpich.tar.Z
  2. LAM - tbag.osc.edu in the directory pub/lam
  3. CHIMP - ftp.epcc.ed.ac.uk in the directory pub/chimp/release

The MPICH implementation is a library of several hundred C and Fortran routines that will let you write programs that run in parallel and communicate with each other. Few completely understand all that any MPI implementation offers, but that's okay, because this class will only be using some ten (maybe a few more) routines out of the bunches available.

This guide is designed to give the user a brief overview of some of the basic and important routines of MPICH with emphasis on getting up and running on the DEC Alphas at the University of Delaware. The DEC Alphas include the following machines located on the eecis network: porsche, cobra, corvette, ferrari, jaguar, lamborghini, lotus, maserati,and viper. They can be accessed only through remote login to porsche, the server.

This guide is not meant to be a replacement for the official manual or user's guide. The official manual can be found in ~pollock/public/mpiman.ps on porsche. The user's guide can be found in ~pollock/public/guide.ps also on porsche. Print out or view these files using a postscript compatible printer or software. If you have lots of time, the MPI Standard is available electronically from http://www.mcs.anl.gov/Projects/mpi/index.html. Also, the MPI FAQ can be found at
http://www.erc.msstate.edu/mpi/mpi-faq.html.



next up previous contents
Next: Getting Started With Up: Beginner's Guide to MPI Previous: Contents



Lori Pollock
Wed Feb 4 14:18:58 EST 1998