Hi all,
I read from the SZIP information
page<http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetSzip>that
the chunk's fastest-changing dimension should be equal to N times
pixel_per_block where N is the maximum number of blocks per scan line
(N=128).
For a 2D array in C, the fastest changing dimension is the column; while
it is the row in Fortran. I'm using Fortran wrapper for HDF5 which should
call C implementation of HDF5. So, I'm not sure if I'm coding in Fortran,
should I use the row in Fortran matrix as the fastest-changing dimension or
the column in order to achieve the better performance?

Hi all,
I read from the SZIP information page that the chunk's fastest-changing dimension should be equal to N times pixel_per_block where N is the maximum number of blocks per scan line (N=128).
For a 2D array in C, the fastest changing dimension is the column; while it is the row in Fortran. I'm using Fortran wrapper for HDF5 which should call C implementation of HDF5. So, I'm not sure if I'm coding in Fortran, should I use the row in Fortran matrix as the fastest-changing dimension or the column in order to achieve the better performance?

In C fastest changing dimension is row, and in Fortran it is column

Consider matrix

1 2 3
4 5 6

This matrix is stored as 1 2 3 4 5 6 from C, while from Fortran it will be stored as
1 4 2 5 3 6

So, use Fortran's column size.

Elena

···

On Aug 12, 2010, at 8:12 PM, Hoang Trong Minh Tuan wrote: