[MPI3 Fortran] Higher-level libraries (was: Non-contiguous arrays)

Aleksandar Donev donev1 at llnl.gov
Fri Sep 19 12:39:13 CDT 2008


On Friday 19 September 2008 08:48, Jeff Squyres wrote:

> Putting this stuff in the MPI standard was not seen as suitable  
> because it effectively defines a new/second MPI standard that is  
> specific to a single language.  I still agree with this decision.
Sure. But that does not preclude the committee from supporting additional 
documents, e.g., technical reports describing side components.

> Instead, the idea is to provide building blocks in the bindings, and  
> provide enough hooks for upper-layer library and language authors to  
> be able to do whatever higher-level concepts they want to do
That is all fine, but I think you are missing an important point that many 
C/C++ programmers do. C/C++ may have been designed to do "low-level" 
libraries (thus C++ has all that expressive but untamed power). Fortran is 
not a low-level language, nor was it ever (F77 is simply old, so it may seem 
low-level, but at the time it was high-level). It is not meant to shift 
around memory ala C pointers. So while 
> avoid requiring  
> specifying the MPI datatype when it's easy/cheap for the library to  
> figure it out itself
may seem to you like a convenience, it is actually a requirement in 
statically-typed and mostly type-safe Fortran. One does not just pass memory 
addresses and then move around bits in Fortran and do wild type-casts. I 
understand that MPI does not need to be implemented in Fortran and it can do 
these things internally. But worse than that, a model for MPI based on the C 
machine model (linear memory etc.) does not fit Fortran, which by design is 
higher level than that. So it may simply be impossible to design a Fortran 
interface that is in accord with the Fortran standard AND looks like the C 
binding. You can of course fake it, as people have for a long time...

Best,
Aleks

-- 
Aleksandar Donev, Ph.D.
Lawrence Postdoctoral Fellow @ Lawrence Livermore National Laboratory
High Performance Computational Materials Science and Chemistry
E-mail: donev1 at llnl.gov
Phone: (925) 424-6816  Fax: (925) 423-0785
Address: P.O.Box 808, L-367, Livermore, CA 94551-9900
Web: http://cherrypit.princeton.edu/donev




More information about the mpiwg-fortran mailing list