[Beowulf] array shape difference

Michael H. Frese Michael.Frese at NumerEx-LLC.com
Thu Nov 12 06:50:31 PST 2009

At 06:26 AM 11/12/2009, Stuart Barkley wrote:
>At 03:40 PM 11/11/2009, Peter St. John wrote:
> >       The difference between:
> >       array1(1:60000)
> >       array2(1:2, 1:30000)
> >
> >       would be reflected in the size of the executable, not the size
> >       of the data.
> >       Right?
>On Thu, 12 Nov 2009 at 07:18 -0000, Michael H. Frese wrote:
> > That's correct.  The executable size would reflect the extra operations
> > required to compute the offset for the doubly dimensioned array.
>Or maybe not.
>If the fortran code is doing virtual subscripts (e.g. array2(i*2 + j))
>it would likely generate about the same code as the compiler would
>generate for 2 dimensions.  In theory, the compiler can generate
>better subscript computation but I suspect in most reasonable (or
>simple testing) cases the actual code size difference is a wash.
>Go with what is most natural for expressing the algorithm.  And ease
>the future maintenance.

Agreed.  The code size differences would compiler dependent and 
minimal in any case.  Human readability should determine the choice.


More information about the Beowulf mailing list