Last modified: 15 October 2012
Name: H5Pget_mpio_actual_io_mode
Signature:
herr_t H5Pget_mpio_actual_io_mode( hid_t dxpl_id, H5D_mpio_actual_io_mode_t * actual_io_mode)

Purpose: Retrieves the type of I/O that HDF5 actually performed on the last parallel I/O call. This is not necessarily the type of I/O requested.

Motivation:
A user can request collective I/O via a data transfer property list (DXPL) that has been suitably modified with H5Pset_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 H5Pget_mpio_actual_chunk_opt_mode, this property allows the user to determine exactly HDF5 did when attempting collective I/O.

Description:
H5Pget_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:
  H5D_MPIO_NO_COLLECTIVE   No collective I/O was performed. Collective I/O was not requested or collective I/O isn't possible on this dataset.
(Default)
  H5D_MPIO_CHUNK_INDEPENDENT   HDF5 performed one the chunk collective optimization schemes and each chunk was accessed independently.
  H5D_MPIO_CHUNK_COLLECTIVE   HDF5 performed one the chunk collective optimization schemes and each chunk was accessed collectively.
  H5D_MPIO_CHUNK_MIXED   HDF5 performed one the chunk collective optimization schemes and some chunks were accessed independently, some collectively.
  H5D_MPIO_CONTIGUOUS_COLLECTIVE   Collective I/O was performed on a contiguous dataset.

Note:
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.

Parameters:
hid_t dxpl_id      IN: Dataset transfer property list identifier
H5D_mpio_actual_io_mode_t * actual_io_mode   OUT: The type of I/O performed by this process.

Returns:
Returns a non-negative value if successful; otherwise returns a negative value.

See Also:
H5Pget_mpio_no_collective_cause Reports whether collective I/O was performed on a particular call and, if not, the causes that broke collective I/O.
H5Pget_mpio_actual_chunk_opt_mode   Reports type of optimization HDF5 actually attempted.

Fortran90 Interface: h5pget_mpio_actual_io_mode_f

History:
Release     Change
1.8.10 Fortran subroutine introduced in this release.
1.8.8 C function introduced in this release.