Installation and User's Guide to mpich,a Portable Implementation of MPIVersion 1.2.5The chp4 device for Workstation Networks

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-1 specification for a wide variety of parallel and distributed computing environments. 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 document describes how to install and use the mpich implementation of MPI.

This document describes how to obtain, install, and use mpich [10], the portable implementation of the MPI Message-Passing Standard. This document describes version 1.2.5.


Contents

  • Introduction
  • Features of recent releases
  • Choosing the correct device and release
  • Citations and References
  • Quick Start
  • Downloading mpich
  • Configuring, Making, and Installing
  • Running examples
  • Sample MPI programs
  • Programming Tools
  • Compiling, linking, and running programs
  • Compiling and Linking without the Scripts
  • Running programs with mpirun
  • Workstation clusters and the ch_p4 device
  • Checking your machines list
  • Changing the Remote Shell Program
  • Using the Secure Shell
  • Using the Secure Server
  • SMP Clusters
  • Heterogeneous networks and the ch_p4 device
  • The P4 Procgroup File
  • Using special or multiple interconnects
  • Using Shared Libraries with the ch_p4 device
  • Setting the Working Directory for the p4 Device
  • MPMD Programs
  • Debugging
  • The printf Approach
  • Error handlers
  • Starting jobs with a debugger
  • Starting the debugger when an error occurs
  • Attaching a debugger to a running program
  • Starting processes under a debugger
  • Debugging MPI programs with TotalView
  • Log and tracefile tools
  • Jumpshot
  • Execution tracing
  • Performance measurements
  • Details
  • Configure options
  • MPI and PMPI routines
  • Configuring mpich for use with threads
  • Signals
  • Workstation Networks with the ch_p4 device
  • Special issues for heterogeneous networks and the ch_p4 device
  • Setting up rsh
  • Configuring with ssh
  • Original SSH (version 1)
  • SSH Version 2.
  • Special Configure Options
  • Alternate C Compilers
  • Fortran Compilers
  • 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
  • C++
  • Using Shared Libraries
  • File System Issues
  • NFS and MPI-IO
  • Dealing with automounters
  • Building mpich
  • Installing mpich for Others to Use
  • User commands
  • Installing documentation
  • Man pages
  • Examples
  • Setting up mpirun for the ch_p4 device
  • The Machines File
  • Faster job startup for the ch_p4 device
  • Stopping the P4 servers
  • Managing the servers
  • Thorough Testing
  • Tuning P4 Performance
  • Internationalization
  • Documentation
  • In Case of Trouble
  • Things to try first
  • Submitting bug reports
  • The Most Common Problems
  • Troubleshooting Shared Libraries
  • Other Problems
  • Problems configuring
  • General
  • Linux
  • Problems building mpich
  • General
  • Workstation Networks
  • Cray T3D
  • SGI
  • Linux
  • Compaq ULTRIX and Tru64
  • Problems in testing
  • General
  • Problems compiling or linking Fortran programs
  • General
  • Problems Linking C Programs
  • General
  • HPUX
  • LINUX
  • Problems starting programs
  • General
  • Workstation Networks
  • IBM RS6000
  • IBM SP
  • Programs fail at startup
  • General
  • Workstation Networks
  • Programs fail after starting
  • General
  • HPUX
  • LINUX
  • Workstation Networks
  • Trouble with Input and Output
  • General
  • Workstation Networks
  • HP-UX
  • Special debugging arguments
  • p4 Debugging
  • Acknowledgments
  • Appendices
  • Frequently Asked Questions
  • Introduction
  • Installing MPICH
  • Using MPICH
  • Permission Denied
  • Notes on getting MPICH running Under Linux
  • poll: protocol failure during circuit creation
  • Using SSH
  • Mac OS X and hostname
  • SIGSEGV
  • semop lock failed
  • Compiler Switches
  • C++ Builds Fail
  • Fortran programs give errors about mismatched types
  • Missing Symbols When Linking
  • Warning messages while building MPICH
  • MPMD (Multiple Program Multiple Data) Programs
  • Reporting problems and support
  • Algorithms used in MPICH
  • Jumpshot and X11
  • History of Mpich
  • File Manifest
  • Configure Usage
  • Mpirun Usage
  • Change summary from the previous version
  • Deprecated Features
  • Getting Tcl, Tk, and wish
  • Obsolete Systems
  • More detailed control over compiling and linking
  • Bibliography