User's Guide for mpich, a Portable Implementation of MPI

William Gropp and Ewing Lusk

This User's Guide corresponds to Version 1.1.2 of mpich. It was processed by LaTeX on Tue Sep 7 20:39:00 1999.

MPI (Message-Passing Interface) is a standard specification for message-passing libraries. MPICH is a portable implementation of the full MPI specification for a wide variety of parallel and distributed computing environments. This paper describes how to build and run MPI programs using the MPICH implementation of MPI.

Version 1.1.2 of MPICH is primarily a bug fix and increased portability release. Features that were new in 1.1.1 are:

* The ROMIO subsystem implements a large part of the MPI-2 standard for parallel I/O. For details on what types of file systems runs on and current limitations, see the Romio documentation in romio/doc.
* The MPI-2 standard C++ bindings are available for the MPI-1 functions.
* A new device, Globus, is available. See Section Computational grids: the globus device .
* A new program visualization program, called Jumpshot, is available as an alternative to the upshot and nupshot programs.


Contents

  • Introduction
  • Linking and running programs
  • Scripts to Compile and Link Applications
  • Running with mpirun
  • More detailed control
  • Special features of different systems
  • Workstation clusters
  • Checking your machines list
  • Using the Secure Shell
  • Using the Secure Server
  • Heterogeneous networks and the ch_p4 device
  • Using special switches
  • Computational grids: the globus device
  • MPPs
  • IBM SP
  • Intel Paragon
  • Symmetric Multiprocessors (SMPs)
  • Sample MPI programs
  • The MPE library of useful extensions
  • Creating logfiles
  • Parallel X Graphics
  • Other mpe routines
  • Profiling libraries
  • Accumulation of time spent in MPI routines
  • Logfile creation
  • Customizing logfiles
  • Real-time animation
  • upshot and nupshot
  • Jumpshot
  • Description of Options
  • Known Bugs
  • Accessing the profiling libraries
  • Automatic generation of profiling libraries
  • Tools for Profiling Library Management
  • Debugging MPI programs with built-in tools
  • Error handlers
  • Command-line arguments for mpirun
  • MPI arguments for the application program
  • p4 Arguments for the ch_p4 Device
  • p4 Debugging
  • Setting the Working Directory for the p4 Device
  • Command-line arguments for the application program
  • Starting jobs with a debugger
  • Starting the debugger when an error occurs
  • Attaching a debugger to a running program
  • Signals
  • Related tools
  • Contents of the library files
  • Debugging MPI programs with TotalView
  • Preparing MPICH for TotalView debugging
  • Starting an MPICH program under TotalView control
  • Attaching to a running program
  • Debugging with TotalView
  • Summary
  • Other MPI Documentation
  • In Case of Trouble
  • Problems compiling or linking Fortran programs
  • General
  • Problems Linking C Programs
  • General
  • Sun Solaris
  • HPUX
  • LINUX
  • Problems starting programs
  • General
  • Workstation Networks
  • Intel Paragon
  • IBM RS6000
  • IBM SP
  • Programs fail at startup
  • General
  • Workstation Networks
  • Programs fail after starting
  • General
  • HPUX
  • ch_shmem device
  • Trouble with Input and Output
  • General
  • IBM SP
  • Workstation Networks
  • Upshot and Nupshot
  • General
  • HP-UX
  • Appendices
  • Automatic generation of profiling libraries
  • Writing wrapper definitions
  • Options for mpirun
  • MPI, Globus, and GUSTO
  • Using the globus device on GUSTO
  • Setting up security for GUSTO
  • Authenticating yourself to GUSTO
  • Using mpirun on GUSTO
  • Advanced features of the globus device
  • Acknowledgments
  • Bibliography