Good day,
I decided to try some metadata caching parameters related to the
discussion on pages 3-4 of Howison et al
(http://www.hdfgroup.org/pubs/papers/howison_hdf5_lustre_iasds2010.pdf).
The paper gives sample code as follows in Figure 5:
H5AC_cache_config_t mdc_config;
hid_t file_id;
file_id = H5Fopen("file.h5", H5ACC_RDWR, H5P_DEFAULT);
mdc_config.version = H5AC__CURR_CACHE_CONFIG_VERSION;
H5Pget_mdc_config(file_id, &mdc_config)
mdc_config.evictions_enabled = 0 /* FALSE */;
mdc_config.incr_mode = H5C_incr__off;
mdc_config.decr_mode = H5C_decr__off;
H5Pset_mdc_config(file_id, &mdc_config);
Attempting to directly implement this fails. Modifying the above so
the H5Pget_mdc_config/H5Pset_mdc_config operates on a file access
property list succeeds. However, I saw runtime errors like
HDF5-DIAG: Error detected in HDF5 (1.8.5-patch1) MPI-process 2:
#000: H5Pfapl.c line 1354 in H5Pset_mdc_config(): invalid metadata
cache configuration
major: Invalid arguments to routine
minor: Bad value
#001: H5AC.c line 2665 in H5AC_validate_config(): Can't disable
evictions while auto-resize is enabled.
major: Invalid arguments to routine
minor: Bad value
which I've remedied by glancing at H5AC.c:2665 and then adding the statement
mdc_config.flash_incr_mode = H5C_flash_incr__off;
to the code block above. Is this modification in the spirit of what
Howison et al. suggests? Or is using H5C_flash_incr__off asking for
trouble in ways that the paper does not discuss?
Thanks for your time,
Rhys