OUT: The type of chunk optimization performed by HDF5
A user can request collective I/O via a data transfer property list (DXPL) that has been suitably modified with H5P_SET_DXPL_MPIO. The operation can be optimized in several different ways, some of which also can be requested by the user. However, HDF5 may not be able to satisfy requests for specific optimizations and may choose a different optimization scheme. This property allows the user to track which optimization was actually used. Used in conjunction with H5P_GET_MPIO_ACTUAL_IO_MODE, this property allows the user to determine exactly what HDF5 did when attempting collective chunked I/O.
H5P_GET_MPIO_ACTUAL_CHUNK_OPT_MODE retrieves the type of chunk optimization performed when collective I/O was requested. This property is set before I/O takes place, and will be set even if I/O fails.
Valid values returned in actual_chunk_opt_mode:
No chunk optimization was performed. Either no collective I/O was attempted or the dataset wasn't chunked. (Default)
Each chunk was individually assigned collective or independent I/O based on what fraction of processes access the chunk. If the fraction is greater than the multi chunk ratio threshold, collective I/O is performed on that chunk. The multi chunk ratio threshold can be set using H5P_SET_DXPL_MPIO_CHUNK_OPT_RATIO. The default value is 60%.
Each chunk is assigned collective or independent I/O based on how many chunks were accessed before it. Collective I/O is performed on the the first chunk in each selection, then the second, and so on until one process finishes, then the remaining processes perform independent I/O on the rest of their selections.
Collective I/O is performed on all chunks simultaneously.
Returns a non-negative value if successful; otherwise returns a negative value.