MPI is a popular, widely supported standard for writing parallel programs using message passing. The version available on DAS is MPI-Panda, which uses Panda as message passing layer. It is based on the well-known MPI-CH package from Argonne/MSU. See also the MPI-CH documentation collected locally (by Thilo Kielmann).


This MPI implementation uses ADI-2 of MPI-CH. Its message passing layer is Panda, in both current versions Panda3.0 and Panda4.0. This means that it will run on all platforms where Panda has been ported.

Compilation of MPI programs for MPI-Panda is done with the scripts mpicc for C programs and mpif77 for Fortran-77 programs; these scripts reside in /usr/local/VU/mpi/lib/i386/ch_panda4/. The scripts are self-contained: no extra flags to indicate MPI include directories or libraries are needed. Both compile scripts support the full range of architectural options known to the Panda compile script panc. The options -O, -O1, -O2, ... are treated specially. When one of these options is specified, optimized versions of MPI and Panda libraries are linked into the program. When no -O* option is specified, debugging libraries (with symbol table support, assertions etc) are linked into the program.

The implementation on Panda4.0 is more efficient than that on Panda3.0, since the message interface offered by Panda4.0 is more flexible. No user data is ever copied. Panda3.0 sometimes copies (part of) the message. However, Panda4.0 currently only runs on Linux, BSDI and Solaris, and it supports the network layers LFC and UDP. On the other hand, Panda3.0 runs also on SP-2, PowerExplorer, Amoeba, ... . Wherever possible, it is strongly recommended to use MPI-Panda on Panda4.0. Use of Panda3.0 is selected by passing mpicc/mpif77 the flag -3, use of Panda4.0 is selected by the flag -4.

MPI Example programs

Directory /usr/local/VU/mpi-examples/ppmpi_c contains a number of MPI example programs in C, described in the book Parallel Programming with MPI. Fortran versions can be found in /usr/local/VU/mpi-examples/ppmpi_f/.

Some locally written or massaged applications can be found in /usr/local/VU/mpi-examples/misc/.

Advanced School for
Computing and Imaging

Back to the DAS home page
This page is maintained by Rutger Hofman. Last modified: Thu Sep 23 15:11:23 CEST 1999