Installation Guide to mpich,a Portable Implementation of MPIVersion 1.2.2

William Gropp and Ewing Lusk

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 computing environments, including workstation clusters and massively parallel processors (MPPs). Mpich contains, along with the MPI library itself, a programming environment for working with MPI programs. The programming environment includes a portable startup mechanism, several profiling libraries for studying the performance of MPI programs, and an X interface to all of the tools. This guide explains how to compile, test, and install mpich and its related tools.

This document describes how to obtain and install mpich [11], the portable implementation of the MPI Message-Passing Standard. Details on using the mpich implementation are presented in a separate User's Guide for mpich [8]. Version 1.2.2 of mpich is primarily a bug fix and increased portability release, particularly for Linux-based clusters.

New and improved in 1.2.2:

* A greatly improved ch_p4mpd device.

* Improved support for assorted Fortran 77 and Fortran 90 compilers, including compile-time evaluation of Fortran constants used in the mpich implementation.

* An improved globus2 device, providing better performance.

* A new bproc mode for the ch_p4 device supports Scyld Beowulfs.

* Many TCP performance improvements for the ch_p4 and ch_p4mpd devices, as well as

* Many bug fixes and code improvements. See www.mcs.anl.gov/mpi/mpich1/r1_2_2changes.html for a complete list of changes.

Features that were new in 1.2.1 included:
* Improved support for assorted Fortran and Fortran 90 compilers. In particular, a single version of mpich can now be built to use several different Fortran compilers; see the installation manual (in doc/install.ps.gz) for details.

* Using a C compiler for MPI programs that use mpich that is different from the one that mpich was built with is also easier now; see the installation manual.

* Known problems and bugs with this release are documented in the file mpich/KnownBugs .

* There is an FAQ at http://www.mcs.anl.gov/mpi/mpich1/faq.html . See this if you get ``permission denied'', ``connection reset by peer'', or ``poll: protocol failure in circuit setup'' when trying to run mpich.

* There is a paper on jumpshot available at ftp://ftp.mcs.anl.gov/pub/mpi/jumpshot.ps.gz . A paper on MPD is available at ftp://ftp.mcs.anl.gov/pub/mpd.ps.gz.


Contents

  • Quick Start
  • Obtaining and Unpacking the Distribution
  • Documentation
  • Configuring mpich
  • Workstations in General
  • Workstation Networks with the ch_p4 device
  • Workstation Networks with the ch_p4mpd device
  • Computational Grids with the globus2 device
  • Massively Parallel Processors and Large SMPs
  • Building a production mpich
  • Preparing mpich for TotalView debugging
  • Fortran
  • What if there is no Fortran compiler?
  • Fortran 90
  • Fortran 77 and Fortran 90
  • Fortran 90 Modules
  • Configuring with the Absoft Fortran Compiler
  • Configuring for Multiple Fortran Compilers
  • Special issues for heterogeneous networks and the ch_p4 device
  • Setting up rsh
  • Configuring with ssh
  • mpich and threads
  • MPI and PMPI routines
  • Compiling mpich
  • C++
  • Building multiple devices or architectures
  • Running an MPI Program
  • Special Considerations for Running on a Network of Workstations
  • Using the ch_p4 device
  • Dealing with automounters
  • Faster job startup for the ch_p4 device
  • Stopping the P4 servers
  • Managing the servers
  • Using the MPD System Daemons with the ch_p4mpd device
  • Installation
  • Starting and Managing the MPD Daemons
  • Special Considerations for Running with Shared Memory
  • NFS and MPI-IO
  • Thorough Testing
  • Installing mpich for Others to Use
  • User commands
  • Installing documentation
  • Man pages
  • Examples
  • The MPE Library
  • Configure Options
  • MPE Installation Instructions
  • Configure the mpe library as part of the mpich configure and make process
  • Configure the mpe library as part of an existing MPI implementation
  • Example MPE Programs
  • mpeinstall
  • Visualizing Program Behavior
  • Upshot
  • Jumpshot
  • Configure Options
  • Installation Instructions
  • Building and Using Jumpshot-3
  • Internationalization
  • Benchmarking mpich
  • The mpich Programming Environment
  • Introduction
  • mpirun, a Portable Startup Script
  • Commands for compiling and linking programs
  • Problems
  • Submitting bug reports
  • Problems configuring
  • General
  • Linux
  • Problems building mpich
  • General
  • Workstation Networks
  • Cray T3D
  • SGI
  • Linux
  • IBM SP
  • Compaq ULTRIX
  • Problems in testing
  • General
  • Configure Usage
  • Deprecated Features
  • Getting Tcl, Tk, and wish
  • Obsolete Systems
  • mpireconfig, a way to create Makefiles
  • Acknowledgments
  • Bibliography