Skip to content

Commit

Permalink
Documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
franzpoeschel committed Jul 31, 2024
1 parent 7cf5628 commit 1a3d711
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
6 changes: 5 additions & 1 deletion docs/source/backends/hdf5.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Rudimentary support for HDF5 VFDs (`virtual file driver <https://www.hdfgroup.or
Note that the subfiling VFD needs to be enabled explicitly when configuring HDF5 and threaded MPI must be used.

Virtual file drivers are configured via JSON/TOML.
Refer to the page on `JSON/TOML configuration <backendconfig-hdf5>`_ for further details.
Refer to the page on :ref:`JSON/TOML configuration <backendconfig-hdf5>` for further details.


Backend-Specific Controls
Expand Down Expand Up @@ -54,6 +54,10 @@ Although we choose the default to be non-collective (independent) for ease of us
For independent parallel I/O, potentially prefer using a modern version of the MPICH implementation (especially, use ROMIO instead of OpenMPI's ompio implementation).
Please refer to the `HDF5 manual, function H5Pset_dxpl_mpio <https://support.hdfgroup.org/HDF5/doc/RM/H5P/H5Pset_dxpl_mpio.htm>`_ for more details.

.. tip::

Instead of using an environment variable, independent/collective data transfer can also be configured at the API level via :ref:`JSON/TOML <backendconfig-hdf5>`.

``OPENPMD_HDF5_ALIGNMENT``: this sets the alignment in Bytes for writes via the ``H5Pset_alignment`` function.
According to the `HDF5 documentation <https://support.hdfgroup.org/HDF5/doc/RM/H5P/H5Pset_alignment.htm>`_:
*For MPI IO and other parallel systems, choose an alignment which is a multiple of the disk block size.*
Expand Down
7 changes: 7 additions & 0 deletions docs/source/details/backendconfig.rst
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,13 @@ Explanation of the single keys:
* ``hdf5.vfd.stripe_size``: Must be an integer
* ``hdf5.vfd.stripe_count``: Must be an integer

Flush calls, e.g. ``Series::flush()`` can be configured via JSON/TOML as well.
The parameters eligible for being passed to flush calls may be configured globally as well, i.e. in the constructor of ``Series``, to provide default settings used for the entire Series.

* ``hdf5.independent_stores``: A boolean that sets the ``H5FD_MPIO_INDEPENDENT`` dataset transfer property if true, otherwise ``H5FD_MPIO_COLLECTIVE``.
Only available when using HDF5 in combination with MPI.
See the `HDF5 subpage <backends-hdf5>`_ for further information on independent vs. collective flushing.

.. _backendconfig-other:

Other backends
Expand Down

0 comments on commit 1a3d711

Please sign in to comment.