[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  

> 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  


More information about the mpiwg-fortran mailing list