Memory strides
Fortran 90 program:
REAL B(100, 100)
. . .
CALL FOO(B(1, :))
SUBROUTINE FOO(C )
REAL C(:)
. . .
END
- First dimension of D most-rapidly-varying in memory.
- Second dimension has memory stride 100—inherited by C.
- Fortran compilers normally pass a dope vector containing r extents and r strides for rank-r argument.
- Stride not really a property of the distributed range. Store separately in DAD.