[MPI3 Fortran] MPI Fortran bindings
Aleksandar Donev
donev1 at llnl.gov
Fri Jun 5 12:19:47 CDT 2009
On Friday 05 June 2009 05:13, Bill Long wrote:
> The options for <type> would be TYPE(*) or something like
> INTEGER combined with a directive to ignore the actual type.
> <dimension> could be DIMENSION(*) combined with an ignore directive,
> or DIMENSION(..). For the non-blocking equivalent:
Implementation dependent??? BLAH!
That makes the bindings useless. It is impossible to write portable
code, yet alone figure out what it means semantically. E.g.,
DIMENSION(*) and DIMENSION(..) are fundamentally different, for
example, in terms of copy in/out properties.
Also,
<any_type_and_shape>, intent(IN) :: BUF
makes this look like we are specifying an *intrinsic* subroutine (one
that the compiler and language know about, rather than an interface to
an external routine).
This is too much to ask of implementors (IMO), but even we go down that
route we need to be a lot more specific (even our intrinsic functions
are more specific than that), both in terms of what actual types are
allowed and handled (can the actual be polymorphic, for example), and
possibly the shape.
--
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://cims.nyu.edu/~donev/
More information about the mpiwg-fortran
mailing list