[MPI3 Fortran] Deprecate mpif.h?
Craig Rasmussen
crasmussen at newmexicoconsortium.org
Fri Mar 5 12:10:57 CST 2010
On Mar 5, 2010, at 3:44 AM, Supalov, Alexander wrote:
> Thanks. I like very much the balanced approach you outline,
> understand the technical reasons for the desire to improve the
> Fortran interface, and agree that the current interface is basically
> broken (but it works!) and that something must be done.
>
> I just disagree with the proposed staging. Namely, I think that
> deprecating or freezing the current binding now will send a wrong
> signal to the masses and increase fear, uncertainty, and doubt in
> relation to the MPI standard.
I would argue that using mpi3 will reduce fear, uncertainty, and doubt
because the MPI-3 API will no longer be in conflict with the Fortran
standard. So for users this is a good thing and I believe you would
agree.
> Instead, I argue that we should take a much smoother path into the
> future, a path that will probably take several decades rather than
> years, and should not start with a U-turn.
>
A couple of points:
On deprecation. This is a statement on how the bindings are viewed by
the standard and not on availability. As I've been told repeatedly by
Fortran compiler vendors, just because a feature is deprecated doesn't
mean it will EVER be removed from the compiler. So I think
deprecation is the smooth path to the future that will allow codes to
slowly migrate over several decades. It just states that programmers
should begin the migration path at an appropriate time and not put it
off forever. If mpif.h didn't break the Fortran language then I might
feel differently. I just don't see how it is a good idea for MPI to
OFFICIALLY support a standard that is broken.
On freezing mpif.h. I see this as a separate though related issue.
New functions could be added to mpif.h although this would be kind of
weird. But since it will take time before all Fortran compilers in
use will support the MPI3 module, it may be appropriate to add new
functions to mpif.h in the short term.
In any case, I think the MPI standard can be written so that users
clearly understand that:
1. MPI3 is the future as it will comply with the Fortran standard.
2. mpif.h is deprecated though it will remain around for some time.
It is deprecated from the standard, not deleted.
3. There is a smooth migration path from mpif.h to using the MPI3
module.
-craig
More information about the mpiwg-fortran
mailing list