[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