Please see The HDF Group's new Support Portal for the latest information.
The programming model for accessing a dataset with Parallel HDF5 is:
- Create or open a Parallel HDF5 file with a collective call to:
- Obtain a copy of the file transfer property list and set it to
use collective or independent I/O.
Do this by first passing a data transfer property list class type to:Then set the data transfer mode to either use independent I/O access or to use collective I/O, with a call to:
Following are the parameters required by this call:
C: herr_t H5Pset_dxpl_mpio (hid_t dxpl_id, H5FD_mpio_xfer_t xfer_mode ) dxpl_id IN: Data transfer property list identifier xfer_mode IN: Transfer mode: H5FD_MPIO_INDEPENDENT - use independent I/O access (default) H5FD_MPIO_COLLECTIVE - use collective I/O access F90: h5pset_dxpl_mpi_f (prp_id, data_xfer_mode, hdferr) prp_id IN: Property List Identifer (INTEGER (HID_T)) data_xfer_mode IN: Data transfer mode (INTEGER) H5FD_MPIO_INDEPENDENT_F (0) H5FD_MPIO_COLLECTIVE_F (1) hdferr IN: Error code (INTEGER)
- Access the dataset with the defined transfer property list.
All processes that have opened a dataset may do collective I/O. Each process may do an independent and arbitrary number of data I/O access calls, using:
If a dataset is unlimited, you can extend it with a collective call to:
C: 95 /* 96 * Create property list for collective dataset write. 97 */ 98 plist_id = H5Pcreate (H5P_DATASET_XFER); 99 H5Pset_dxpl_mpio (plist_id, H5FD_MPIO_COLLECTIVE); 100 101 status = H5Dwrite (dset_id, H5T_NATIVE_INT, memspace, filespace, 102 plist_id, data); F90: 108 ! Create property list for collective dataset write 109 ! 110 CALL h5pcreate_f (H5P_DATASET_XFER_F, plist_id, error) 111 CALL h5pset_dxpl_mpio_f (plist_id, H5FD_MPIO_COLLECTIVE_F, error) 112 113 ! 114 ! Write the dataset collectively. 115 ! 116 CALL h5dwrite_f (dset_id, H5T_NATIVE_INTEGER, data, dimsfi, error, & 117 file_space_id = filespace, mem_space_id = memspace, xfer_prp = plist_id)The following example programs create a dataset in an HDF5 file using Parallel HDF5:
-
[ C Example ]
--
Dataset.c
[ FORTRAN90 Example ] --
dataset.f90
- - Last modified: 21 December 2016