Fortran90 Interface: h5pget_mpio_actual_io_mode_f
SUBROUTINE h5pget_mpio_actual_io_mode_f(dxpl_id, actual_io_mode, hdferr)
INTEGER(HID_T), INTENT(IN) :: dxpl_id
INTEGER , INTENT(OUT) :: actual_io_mode
INTEGER , INTENT(OUT) :: hdferr
dxpl_id - Dataset transfer property list identifier.
actual_io_mode - The type of I/O performed by this process.
hdferr - Returns 0 if successful and -1 if fails.
IN: Dataset transfer property list identifier
OUT: The type of I/O performed by this process
A user can request collective I/O via a data transfer property list (DXPL) that has been suitably modified with H5P_SET_DXPL_MPIO. However, HDF5 will sometimes ignore this request and perform independent I/O instead. This property allows the user to see what kind of I/O HDF5 actually performed. Used in conjunction with H5P_GET_MPIO_ACTUAL_CHUNK_OPT_MODE, this property allows the user to determine exactly HDF5 did when attempting collective I/O.
H5P_GET_MPIO_ACTUAL_IO_MODE retrieves the type of I/O performed on the selection of the current process. This property is set after all I/O is completed; if I/O fails, it will not be set.
Valid values returned in actual_io_mode:
No collective I/O was performed. Collective I/O was not requested or collective I/O isn't possible on this dataset (Default)
HDF5 performed one the chunk collective optimization schemes and each chunk was accessed independently
HDF5 performed one the chunk collective optimization schemes and each chunk was accessed collectively
HDF5 performed one the chunk collective optimization schemes and some chunks were accessed independently, some collectively.
Collective I/O was performed on a contiguous dataset
All processes do not need to have the same value. For example, if I/O is being performed using the multi chunk optimization scheme, one process's selection may include only chunks accessed collectively, while another may include chunks accessed independently. In this case, the first process will report H5D_MPIO_CHUNK_COLLECTIVE while the second will report H5D_MPIO_CHUNK_INDEPENDENT.
Returns a non-negative value if successful; otherwise returns a negative value.