(j3.2006) (SC22WG5.3811) [ukfortran] Ballot on the technical content of the TR
Wed Dec 10 11:10:43 EST 2008
On Dec 9, 2008, at 4:40 AM, N.M. Maclaren wrote:
> The vast bulk of N1761 doesn't help even existing MPI,
You are correct, the vast bulk of N1761 was designed to target a set
of library developers different from MPI. In fact when it was voted
to proceed with improved C interoperability at Delft, I don't recall
that MPI was mentioned. However, the assumed-shape dummy portion of
N1761 would allow "real" (i.e., much better) Fortran interfaces to be
developed (as I discuss further below).
> let alone help MPI to
> provide a real Fortran 2003 interface.
There are two thrusts regarding new Fortran MPI interfaces. The
official one is simply to provide interfaces that are safe to use,
that map as closely as possible to the existing C interfaces and don't
require recoding of existing applications. The other thrust is to
provide "real Fortran" MPI interfaces. I've had discussions with
developers of the boost C++ MPI interfaces about how to do similar
things in Fortran. However, I've been told that these interfaces
would probably not be standardized, though important never the less.
The C++ interfaces haven't been standardized because they deviate too
far from the original C interfaces.
> It is pretty clear that MPI will
> continue to say (more-or-less explicitly, as has been done on its
> list) "Don't use assumed-shape arrays, because they aren't portable
> - stick
> to explicit-size ones." I.e. don't use Fortran 90 - stick to
> Fortran 77!
I don't want to put words in your mouth but it sounds like you are in
favor of the vast majority of parallel Fortran programmers using the
old unsafe Fortran 77 interfaces. (The Fortran 90 interfaces are
awful and should be dropped from the MPI standard as far as I'm
concerned.) N1761 provides the mechanisms for both a new 3.0 MPI
interface for Fortran that is safe to use and also for "real" Fortran
interfaces with vendor independent implementations that take advantage
of the full features of Fortran.
Frankly, the current Fortran interfaces are embarrassment to the
Fortran community. They are unsafe to use as described in 3 to 4
pages of the MPI standard. I strongly believe that we must fix this
situation. If you don't like the current proposal, please suggest an
alternative that meet the requirements of the MPI community.
More information about the J3