(j3.2006) (SC22WG5.3811) [ukfortran] Ballot on the technical content of the TR

Craig Rasmussen crasmussen
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  
> mailing
> 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 mailing list