[MPI3 Fortran] Higher-level libraries (was: Non-contiguous arrays)
Jeff Squyres
jsquyres at cisco.com
Fri Sep 19 10:48:51 CDT 2008
On Sep 19, 2008, at 11:31 AM, Supalov, Alexander wrote:
> I don't think taking advanced interface discussion to another list
> will
> help that interface in the end. However beautiful the result will be,
> until it's blessed by the Forum, it'll have fundamental handicap.
>
> If that's practicable, it would be better to draw the OOMPI and Boost
> MPI C++ into the fold and finally drive into the standard something
> that
> looks like a good C++ interface for MPI. Same with Fortran.
There was significant resistance to this idea in 1995-6 -- it's the
reason that OOMPI was not blessed as the official C++ MPI bindings,
and instead, we went with bindings that are pretty much a 1:1 match
for the C bindings. The reason is that OOMPI / Boost.MPI / etc. add
different definitions and semantics over the bottom layer MPI
bindings. As such, it's basically a different communications package
-- it has [sometimes significantly] different rules and behavior than
"core" MPI.
Putting this stuff in the MPI standard was not seen as suitable
because it effectively defines a new/second MPI standard that is
specific to a single language. I still agree with this decision.
Instead, the idea is to provide building blocks in the bindings, and
provide enough hooks for upper-layer library and language authors to
be able to do whatever higher-level concepts they want to do (like
OOMPI, Boost.MPI, ...etc.). Remember that one of MPI's primary
objectives is to be a foundation for higher-level libraries. I think
that the same ideas would also be appropriate for an advanced Fortran
MPI library -- use some of the power of the language to do things that
a) programmers of that language expect (e.g., avoid requiring
specifying the MPI datatype when it's easy/cheap for the library to
figure it out itself) and b) are outside the scope of the definitions
that MPI provides.
FWIW: bringing these libraries under the umbrella of the MPI Forum
(even if they're not in the One True MPI Standard) may be difficult
because of the nature of the communities that develop them. Boost is
a huge community with its own set of rules, guidelines, and goals --
they're not necessarily the same as the MPI Forum's rules, guidelines,
and goals.
All that being said, I do understand your point of "if it's not in the
[or "a"] standard, it'll prevent wide adoption."
--
Jeff Squyres
Cisco Systems
More information about the mpiwg-fortran
mailing list