GridMPI version 1.1
The version 1.1 release GridMPI implements fully the specification
of MPI-1.2 and major MPI-2.0 features. The MPI-1.2 part is fully
tested with the test suites from ANL and Intel. GridMPI passes 100%
of the functional tests of the suites. The MPI-2.0 part is lightly
tested. We tested this package in: (1) Linux/IA32 packages RedHat 9,
and Fedora Core 3; (2) IBM pSeries and Hitachi SR11000 using IBM-MPI
as an underlying point-to-point communication layer; (3)
Solaris8/SPARC64V using Fujitsu MPI and compilers; (4)
NEC SX6 using NEC MPI and compilers.
To download the GridMPI version 1.1, go to the
download page.
Implemented/Unimplemented Features
The following lists the features.
- Full MPI-1.2 support.
- IMPI (Interoperable MPI) support: IMPI is supported for
inter-cluster communication. IMPI is a standard protocol for
connecting multiple instances of MPI.
- Checkpointing support: Checkpointing (fault tolerance by
restarting) is available on Linux/IA32 platforms with 2.4 and 2.6
kernels.
- "Vendor MPI" support: Vendor MPI uses platform-supplied MPI for
local communication. Vendor MPI is available for IBM pSeries and
Hitachi SR11000.
Supported Platforms
Platform
| Compilers
| Test Status
| Notes
|
---|
Linux/IA32, RedHat 9 | GCC | fully tested |
| Linux/IA32, Fedora Core 4 | GCC | compile-and-run | (1)
| Linux/IA32 | Intel | compile-and-run |
| Linux/x86_64 (Opteron) | GCC, PGI, Pathscale | compile-and-run |
| Linux/IA64 | GCC | compile-and-run |
| IBM AIX/Power | IBM | fully tested | (2)
| Hitachi SR11K (AIX/Power) | Hitachi f90 | compile-and-run | (2)
| Fujitsu Solaris8/SPARC64V | Fujitsu | fully tested | (3)
| Solaris10/SPARC | Sun, GCC | compile-and-run |
| NEC SX6 | NEC | compile-and-run | (4)
|
- (1) Requires gcc-4.0.1 or above
- (2) Uses IBM MPI as a vendor MPI
- (3) Uses Fujitsu MPI as a vendor MPI
- (4) Uses NEC MPI as a vendor MPI
Network and Other Configurations
Configuration restrictions:
- The every host in clusters need to be IP global address reachable.
[faq]
Simple and Startup Usage
Installation Procedure describes a
step-by-step installation and test procedure to run simple tests.
Quick Usage describes a simple usage
and a very brief overview of the GridMPI.
Commands
- mpirun: MPI process starter. It
starts MPI processes in a cluster. It includes an option to specify a
cluster number in a multi-cluster configuration in addition to
ordinary options.
- mpicc: Compiler frontend.
- mpic++: Compiler fontend (supporting C++ binding).
- mpif77: Compiler frontend.
- mpif90: Compiler frontend.
- impi-server: IMPI server. A
contact point to join clusters in a multi-cluster configuration. It
is specified in the IMPI specification.
- gridmpirun: Simple frontend to
mpirun. It can run mpirun across multiple cluster
sites.
- canquit: Command wrapper to set signal state of a
background process. It sets interrupt and quit signals to default
state, and runs a command.
- detach: Command wrapper to set session of a background
process. It sets a session and runs a command.
- nsd: Network signal deliverer to start checkpointing. It
is used by gridmpirun to pass caught signals to remote sites.
It resides at the both ends of SSH and encodes and passes signals
through a pipe of stdio.
- gnamesv: Simple MPI-2.0 name server for process spawning.
- mpifork: Static process spawner for mpirun. Type
mpifork -h for online help.
- pspd: PSPacer control daemon. It delegates bandwidth
control requests to the
PSPacer kernel module.
Environment Variables
A few environment variables are important and some are mandatory.
The following is an extract from the full list.
See the full-list of the environment
variables.
- MPIROOT directory:
Specifies a GridMPI installation directory. Commands such as
mpirun and mpicc searches in the directory for necessary
binary and library files.
- IMPI_AUTH_NONE any:
Specifies NOT to use any authentication in connecting to the IMPI
Server. The value is ignored. This is required, and both of a run of
IMPI Server and a run of mpirun should set this. Other
authentication protocols are described in the full list of the
environment variables.
- _YAMPI_RSH remote-shell-command:
Specifies a remote shell command. Typical choice is "rsh" or
"ssh". RSH is the default.
Configure Options (for Administrators)
Configuration at compile time is specified by the configure. The
following configure options are available:
configure
[--with-binmode=no/32/64]
[--with-vendormpi=no/ibmmpi/mpich/mpich2/intelmpi/fjmpi/mpisx]
[--with-libckpt=yes/no]
[--with-libpsp=yes/no]
[--enable-debug]
[--enable-threads]
[--disable-unix]
[--disable-prof-feature]
Implementation Problemns and Issues
See Implementation Status for known
problems, compatibility issues, and open issues.
See MPI Implementation Status for
support levels of MPI-2 features.
See Checkpoint/Restart
Implementation Status for support levels of checkpointing feature.
($Date: 2006-09-12 09:44:38 $)
|