[MPI3 Fortran] MPI Data types
Iain Bason
Iain.Bason at Sun.COM
Fri May 8 08:25:05 CDT 2009
I don't know if this confused anyone, but I just thought I would clear
up a typo in Nick's message:
On May 7, 2009, at 12:54 PM, N.M. Maclaren wrote:
> A Fortran array is strongly typed (the first difference), and it
> comes in
> many forms. Most of them are contiguous, but the most important
> Fortran 90
> one (plain assumed size) is not.
Nick meant to say "assumed shape" here.
> All but assumed shape (a Fortran 77
He meant to say "assumed size" here.
> feature) have a strongly associated size. It is the user's
> responsibility
> to never pass a smaller array to a largerr argument.
>
> Pretty well all combinations are allowed in argument passing, and the
> compiler is expected to use copy-in/copy-out when needed. In
> particular,
> it is needed (in general) when passing an assumed-shape array to an
> assumed
> size argument
He meant what he said here.
I should add that some compilers (including Sun's) do a run time check
for contiguity, and only do copy in/out when it is actually needed. I
don't think that makes a difference for Nick's argument, though.
> (which is the form that matches C's model). That can be
> locked out, but that means that callers cannot use assumed shape
> arrays,
> which (as I said) are the main Fortran 90 mechanism.
Iain
More information about the mpiwg-fortran
mailing list