Page tree

 

JAVA

FORTRAN

C++

C

 

Link

H5P_GET_MPIO_NO_COLLECTIVE_CAUSE

Retrieves local and global causes that broke collective I/O on the last parallel I/O call

Procedure:

H5P_GET_MPIO_NO_COLLECTIVE_CAUSE( dxpl_id, local_no_collective_cause, global_no_collective_cause )

Signature:

herr_t H5Pget_mpio_no_collective_cause(
            hid_t dxpl_id,
            uint32_t * local_no_collective_cause,
            uint32_t * global_no_collective_cause)

  

Parameters:
hid_t dxpl_idIN: Dataset transfer property list identifier
uint32_t *local_no_collective_causeOUT: An enumerated set value indicating the causes that prevented collective I/O in the local process
uint32_t *global_no_collective_causeOUT: An enumerated set value indicating the causes across all processes that prevented collective I/O

Motivation:

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, there are conditions that can cause HDF5 to forgo collective I/O and perform independent I/O. Such causes can be different across the processes of a parallel application. This function allows the user to determine what caused the HDF5 library to skip collective I/O locally, that is in the local process, and globally, across all processes.

Description:

H5P_GET_MPIO_NO_COLLECTIVE_CAUSE serves two purposes. It can be used to determine whether collective I/O was used for the last preceding parallel I/O call. If collective I/O was not used, the function retrieves the local and global causes that broke collective I/O on that parallel I/O call. The properties retrieved by this function are set before I/O takes place and are retained even when I/O fails.

Valid values returned in local_no_collective_cause and global_no_collective_cause are as follows or, if there are multiple causes, a bitwise OR of the relevant causes; the numbers in the center column are the bitmask values:

H5D_MPIO_COLLECTIVE00000000Collective I/O was performed successfully (Default)
H5D_MPIO_SET_INDEPENDENT00000001Collective I/O was not performed because independent I/O was requested
H5D_MPIO_DATATYPE_CONVERSION    00000010Collective I/O was not performed because datatype conversions were required
H5D_MPIO_DATA_TRANSFORMS00000100Collective I/O was not performed because data transforms needed to be applied
H5D_MPIO_SET_MPIPOSIX00001000Collective I/O was not performed because the selected file driver was MPI-POSIX
 H5D_MPIO_NOT_SIMPLE_OR_SCALAR_DATASPACES00010000Collective I/O was not performed because one of the dataspaces was neither simple nor scalar
H5D_MPIO_POINT_SELECTIONS00100000Collective I/O was not performed because there were point selections in one of the dataspaces
 H5D_MPIO_NOT_CONTIGUOUS_OR_CHUNKED_DATASET01000000Collective I/O was not performed because the dataset was neither contiguous nor chunked
H5D_MPIO_FILTERS10000000Collective I/O was not performed because filters needed to be applied

The above name/value pairs are members of HDF5’s H5D_mpio_no_collective_cause_t enumeration.

Each process determines whether it can perform collective I/O and broadcasts the result. Those results are combined to make a collective decision; collective I/O will be performed only if all processes can perform collective I/O.

If collective I/O was not used, the causes that prevented it are reported by individual process by means of an enumerated set. The causes may differ among processes, so H5P_GET_MPIO_NO_COLLECTIVE_CAUSE returns two property values. The first value is the one produced by the local process to report local causes. This local information is encoded in an enumeration, the H5D_mpio_no_collective_cause_t described above, with all individual causes combined into a single enumeration value by means of a bitwise OR operation. The second value reports global causes; this global value is the result of a bitwise-OR operation across the values returned by all the processes.

 

Returns:

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

Example:

Include Bitbucket Server for Confluence: An error occured

Connection to Bitbucket Server could not be established. Verify that you have properly configured the Bitbucket Server application link for your Confluence space and that your Bitbucket Server instance is up and running. Error details: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

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

--- Last Modified: August 09, 2019 | 12:48 PM