On Fri, Dec 02, 2005 at 02:31:59PM -0500, Aleksandar Donev wrote:
> > You can't write a general interface to MPI using C interop
> There are two kinds of implementation-dependence: dependence on the MPI
> implementation, and dependence on the Fortran compiler used. It is the
> second which I seek to avoid as much as possible,
OK. I'm just pointing out the trees in your forest. And the first is
just as important as the second.
> > the types are not specified in the standard, but are
> > implementation-dependent.
> What types are you talking about? You mean things like MPI_Datatype? The
> present Fortran "binding" makes them integers. This is *horrible*,
> non-standard, and simply *bad*. So clearly one needs to do better.
I'm afraid I don't get it. An integer does the job, and unlike the C
interface, you know what the type is, so you can generate object files
which link to any MPI implementation. (Alas you can't go all the way,
the values of this integer aren't specified in the standard. But it is
a step forward to have decreed it to be an integer.)
> "Oh, I don't care, the FORTRAN 77 interface is just fine with
> me, it works great [you said it!]", then J3 is of course not going to
> care enough to actually think about something like MPI bindings.
Why would J3 care about the MPI standard? MPI has its own standards
committee and process. To J3, it's just one of many libraries users
might use.
> The official Fortran "binding" lies and makes one pass arrays of
> arbitrary type in non-conforming ways:
The Fortran 77 binding is a Fortran 77 binding. You are complaining
that it is not a Fortran 2003 binding. A duck is not a pig. The
existing Fortran 90 binding does have some problems, but C interop
doesn't seem to be a good way of resolving them.
> Again, if users show interest and contribute to the
> discussion than maybe something can be done to convince the Fortran
> committee and also to make sure that better solutions are found.
I thought I was contributing to the discussion.
-- greg
|