petsc-3.12.1 2019-10-22
Report Typos and Errors

# PetscViewerHDF5SetCollective

Use collective MPI-IO transfer mode for HDF5 reads and writes.

### Synopsis

    #include "petscviewerhdf5.h"
    PetscErrorCode PetscViewerHDF5SetCollective(PetscViewer viewer,PetscBool flg)

Logically Collective; flg must contain common value

### Input Parameters

| viewer | - the PetscViewer; if it is not hdf5 then this command is ignored
| flg | - PETSC_TRUE for collective mode; PETSC_FALSE for independent mode (default)

### Options Database

-viewer_hdf5_collective -turns on (true) or off (false) collective transfers

### Notes

Collective mode gives the MPI-IO layer underneath HDF5 a chance to do some additional collective optimizations and hence can perform better. However, this works correctly only since HDF5 1.10.3; hence, we ignore this setting for older versions.

### Developer notes

In the HDF5 layer, PETSC_TRUE / PETSC_FALSE means H5Pset_dxpl_mpio() is called with H5FD_MPIO_COLLECTIVE / H5FD_MPIO_INDEPENDENT, respectively. This in turn means use of MPI_File_{read,write}_all / MPI_File_{read,write} in the MPI-IO layer, respectively. See HDF5 documentation and MPI-IO documentation for details.

### See Also

PetscViewerHDF5GetCollective(), PetscViewerCreate(), PetscViewerSetType(), PetscViewerHDF5Open()

### Level

intermediate

### Location

src/sys/classes/viewer/impls/hdf5/hdf5v.c

### Implementations

PetscViewerHDF5SetCollective_HDF5 in src/sys/classes/viewer/impls/hdf5/hdf5v.c
Index of all Viewer routines
Table of Contents for all manual pages
Index of all manual pages