We have described MPICH, a portable implementation of the MPI Standard that offers performance close to what specialized vendor message-passing libraries have been able to deliver. We believe that MPICH has succeeded in popularizing the MPI Standard and encouraging vendors to provide MPI to their customers, first, by helping to create demand, and second, by offering them a convenient starting point for proprietary implementations.
We have also described the programming environment that is distributed with
MPICH. The simple commands
configure
make
cd examples/basic
mpicc -mpilog -o cpi cpi.c
mpirun -np 4 cpi
upshot cpi.log
provide a portable sequence of actions by which even the beginning
user can install MPICH, run a program, and use a sophisticated tool to
examine its behavior. These commands are the same, and the user's program is
the same, on MPPs, SMPs, and workstation networks. MPICH demonstrates
that such portability need not be achieved at the cost of performance.