![]() |
HDF5
1.15.0.f39b228
API Reference
|
#include <src/H5FDsubfiling/H5FDsubfiling.h>
Subfiling parameter structure that is shared between the H5FD_SUBFILING and H5FD_IOC drivers.
Data Fields | |
H5FD_subfiling_ioc_select_t | ioc_selection |
int64_t | stripe_size |
int32_t | stripe_count |
H5FD_subfiling_ioc_select_t ioc_selection |
The method to use for selecting MPI ranks to be I/O concentrators. The current default is to select one MPI rank per node to be an I/O concentrator. Refer to H5FD_subfiling_ioc_select_t for a description of the algorithms available for use.
int32_t stripe_count |
The target number of subfiles to use for the logical HDF5 file. The current default is to use one subfile per node, but it can be useful to set a different target number of subfiles, especially if the HDF5 application will pre-create the HDF5 file on a single MPI rank. In that particular case, the single rank will need to know how many subfiles the logical HDF5 file will consist of in order to properly pre-create the file.
This value is used in conjunction with the IOC selection method to determine which MPI ranks will be assigned as I/O concentrators. Alternatively, the mapping between MPI ranks and I/O concentrators can be set or adjusted with a combination of the ioc_selection field and the H5FD_SUBFILING_IOC_PER_NODE and H5FD_SUBFILING_IOC_SELECTION_CRITERIA environment variables.
int64_t stripe_size |
The stripe size defines the size (in bytes) of the data stripes in the subfiles for the logical HDF5 file. Data is striped across the subfiles in a round-robin wrap-around fashion in segments equal to the stripe size.
For example, in an HDF5 file consisting of four subfiles with a 1MiB stripe size, the first and fifth 1MiB of data would reside in the first subfile, the second and sixth 1MiB of data would reside in the second subfile and so on.
This value can also be set or adjusted with the H5FD_SUBFILING_STRIPE_SIZE environment variable.