H5Pset_hyper_cache
(hid_t plist
,
unsigned cache
,
unsigned limit
)
H5_WANT_H5_V1_4_COMPAT
;
the function is not enabled in the binaries distributed by NCSA.
]
Given a dataset transfer property list, H5Pset_hyper_cache
indicates whether to cache hyperslab blocks during I/O,
a process which can significantly increase I/O speeds.
When working with hyperslab selections, it is possible to
significantly speed up I/O operations by retrieving an
entire hyperslab from the file in one operation and
caching it in memory.
The cache
parameter specifies whether to turn
caching on for hyperslab I/O operations.
If cache
is set to 1
,
caching is turned on;
if set to 0
, caching is turned off.
The parameter limit
sets the maximum size of the
hyperslab block to cache. If a block is smaller than that limit,
it may still not be cached if no memory is available.
Setting limit
to 0
(zero) indicates
no limitation on the size of block to attempt to cache.
The default is to cache blocks with no limit on block size for serial I/O and to not cache blocks for parallel I/O.
plist
cache
1
) or off (0
).
limit
0
(zero) indicates no limit.
SUBROUTINE h5pset_hyper_cache_f(prp_id, cache, limit, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(IN) :: cache ! INTEGER, INTENT(IN) :: limit ! Maximum size of the hyperslab ! block to cache ! 0 (zero) indicates no limit INTEGER, INTENT(OUT) :: hdferr ! Error code ! 0 on success and -1 on failure END SUBROUTINE h5pset_hyper_cache_f