On Mar 24, 2005, at 8:34 PM, Greg Lindahl wrote:
A similar idea was actually written up by Bill Gropp and was mentioned
by him 5 weeks ago on the beowulf list. Quoth he:
| I wrote a paper that appeared in the EuroPVMMPI'02 meeting that
discusses
| the issues of a common ABI. The paper is "Building Library
Components That
| Can Use Any MPI Implementation" and is available as
| http://www-unix.mcs.anl.gov/~gropp/bib/papers/2002/gmpishort.pdf .
I think this overall idea falls short of the benefit of an ABI for a
couple of reasons. The first is that it's unlikely to get wide
distribution if it doesn't come with MPI implementations. The second
is that it's harder to maintain "out of tree"; the minute that an MPI
implementation changes something, MorphMPI is going to be broken.
Yes, I read this paper. I freely admit that my post was inspired by
this paper (and several other factors). Mea culpa for not citing it
(sorry Bill! :-( ). I'm just widening the scope of the ideas a
little, and suggesting that a bright MS student can actually go
implement it with *FAR* less work than trying to do an MPI ABI and in a
*MUCH* shorter timescale.
Software dependencies are a fact of life. But also consider that MPI's
don't change their innards frequently (or at all). If an
implementation chooses integers for MPI handles, for example, they'll
stay with integers -- they won't suddenly change to pointers between
version a.b.c and a.b.(c+1).
So the perturbation rate is actually quite low; a MorphMPI that relies
on MPI handles being integers for a specific MPI implementation (for
example) would be relatively stable.
2. Cancel the MPI Implementor's Ultimate Prize Fighting Cage Match on
pay-per-view (read: no need for time-consuming, potentially fruitless
attempts to get MPI implementors to agree on anything)
Was there a big fight over the Fortran interface? It nails down the
types because it has to.
I was not involved in MPI-1, so I cannot say.
All the ABI does is make C look like Fortran;
no internals need change in any implementation.
That is an extremely inaccurate statement. :-)
--
{+} Jeff Squyres
{+} The Open MPI Project
{+} http://www.open-mpi.org/