On Dec 3, 2007, at 6:05 AM, Supalov, Alexander wrote:
I think the ABI topic should be accompanied by definition of the
validation/certification procedure, be that a comprehensive test
suite
with predefined outcomes or such. Having a common ABI and still
behaving
differently on some applications won't help customers move between
MPI
implementations, which is a common ABI is primarily intended for.
I think that if we start defining the specific interpretations of
the MPI standard, it will result in a black hole of despair. In
pragmatic terms, there are many places where the MPI spec could be
clarified to get more consistent behavior from all the various MPI
implementations. In many other places, the Forum intentionally
left the decision up to the implementor.
By the
way, the ABI extends beyond the function interface - it includes
library
naming, process startup, etc.
This is also a tangled pit of woe.
These are two reasons that I am not optimistic about an ABI.
About the Java, C#, and other "new" interfaces: if they are really
necessary, the Forum for me is the only place where "official" MPI
bindings can be approved. They may be developed elsewhere, but if
somebody want their binding to achieve that status, they should
come up
with a proposal and work with or, better, in the Forum.
Are there any languages that cannot have 3rd party MPI bindings by
layering on top of C MPI bindings?
Re-stating a mantra: it's very suspicious for a vendor or
researcher to say "I have an idea that *must* be standardized!"
It's much more useful to have real-world proof that applications
want/need it. Many of the most successful aspects of MPI had years
of real-world experience behind them -- the standard was just
codifying what was already common practice. Some of the least
successful aspects of MPI were done because they were a "good idea"
or had a political motivation, but lacked a reference
implementation or apps developers saying that they wanted it.
One worthy MPI-3 topic would be a new edition of the unified
standard
document (MPI-1 + MPI-2 + MPI-3). It's just plain inconvenient to go
thru so many different books and, hopefully not for long, multiple
errata. I see that MPI-2 will be proofread for the January
meeting. Is
there an intention to unify the standard documents later on?
It would certainly be useful to do so.
Finally, there's this never dying controversy around making no MPI
calls
and making progress (see the August-September discussion related
to the
generalized requests, for one). Do we want to clarify this in the
standard once and forever in unambiguous terms? This may even be an
MPI-2.1 item, by the way.
FWIW: user progress (generalized requests) and MPI core progress
are subtly different issues, IMHO.