[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