[Beowulf] array shape difference

Stuart Barkley stuartb at 4gh.net
Thu Nov 12 05:26:13 PST 2009


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.

<theory>
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.
</theory>

Go with what is most natural for expressing the algorithm.  And ease
the future maintenance.

Stuart
-- 
I've never been lost; I was once bewildered for three days, but never lost!
                                        --  Daniel Boone


More information about the Beowulf mailing list