Using PHDF5
Much of the HDF5 API inherently supports parallelization (PHDF5) already. For example, consider the function for file creation, H5Fcreate()
.
Among the several input parameters to this function, there is a parameter to identify the "file access property list" that determines the way the file is accessed.
The default property list, which is denoted by H5P_DEFAULT
, allows only sequential access, while a property list that has been modified to enable MPI will allow parallel access.
The mode of parallel access can be collective or independent, depending on the type of function. Functions that involve metadata modification such as H5Fcreate()
,
H5Fclose()
, and H5Dcreate()
are collective in nature; processes need to communicate with each other to perform these operations successfully. However, functions
related to data transfer such as H5Dread()
or H5Dwrite()
, can be either independent or collective.