Toon Knapen wrote:
> If only the 'named constants' are a problem: It's very easy to create a
> few functions (like 'int mpi_comm_world()') that will return the correct
> value for a given implementation.
This is not the only problem, but this one can be fixed more or less
easily by having the MPI forum defining these constants with arbitrary
The Fortran interface is actually worse than the C interface. Instead of
using pointers to opaque structures, the Fortran interface may use
integers as indexes into array of structures, into array of pointers, as
pointers casted to integers, etc.
Even if you implement all of the wrappers in a MorphMPI approach,
nothing guarantee you that you can take an Fortran MorphMPI compliant
application and link it with a MorhMPI compliant MPI library compiled
with a different Fortran compiler. Fortran is evil.
> Any other alternative (cfr. MorphMPI that was discussed some months ago)
> is much more complicated and finally I'm not convinced it provides any
> added value in respect to the solution mentioned above.
There are only 2 ways to achieve ABI compatibility:
1) you impose/agree on a single one.
2) you translate between several ABIs at runtime.
Politically speaking, 1) will never happen. MorphMPI could do 2), but
it's not a silver bullet.