A Survey
of MPI Implementations
| <-
Prev | Index |
Next -> |
NHSE ReviewTM:
Comments · Archive ·
Search
One of the main reasons for having a standard is that a code written
using one MPI implementation should be able to use another
implementation without any source code changes. There are several test
suites that can automatically find problems in an MPI implementation.
These include a test suite from IBM [4], a test suite
from Intel [5], and test codes distributed with
MPICH [6], which is described in Section 4.
In the implementations surveyed for this study, there are few problems
with MPI compliance. The problems are relatively minor and often have
their origins in the behavior of earlier versions of MPICH, from which
many implementations are derived. The two most common problems are:
- Several implementations do not provide an MPI_Cancel that
meets the MPI specification. This function can be quite difficult to
implement for anything other than unmatched receives. Indeed, a
significant fraction of the MPI community believes that it was a
mistake for MPI to require that this function apply to sends as well,
and that applications requiring the ability to cancel sends are quite
rare. In the opinion of this reviewer, therefore, not fully
implementing MPI_Cancel is a small problem.
- Several implementations do not correctly implement MPI constants
in Fortran. In particular, MPI 1.1 requires that they be usable in
initialization expressions. For example, the following code should
work.
include 'mpif.h'
integer mytype
parameter (mytype=MPI_REAL)
In some implementations, however, many MPI ``constants'' are actually
the names of variables in common blocks and aren't initialized until
MPI_Init has been called. Note that this behavior was compliant
with version 1.0 of MPI, and that MPI 1.1 invalidated some formerly
compliant implementations (though all compliant MPI applications
remained compliant). However, MPI 1.1 has been been out for more than
two years, and new vendor implementations continue to contain this
bug.
Copyright © 1996
| <-
Prev | Index |
Next ->
|
NHSE ReviewTM:
Comments · Archive
· Search