[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