Files
hdf5/docs/doxygen/dox/CollectiveMetadataIO.dox
Scot Breitenfeld 05676d1abe Consolidate documentation under docs/ directory (#6310)
* Consolidate documentation under doc/ directory

Move user-facing guides from release_docs/ and doxygen/ into a single
doc/ root. release_docs/ now holds only release artifacts (changelogs,
history, release process, maintainer info).

- git mv release_docs/INSTALL*.md, USING_*.md, README_HPC.md,
  BuildSystemNotes.md, AutotoolsToCMakeOptions.md,
  HDF5_Library_2.0.0_Migration_Guide.md → doc/
- git mv doxygen/ → doc/doxygen/
- Update CMakeLists.txt: HDF5_DOXYGEN_DIR and add_subdirectory path
- Update CMakeInstallation.cmake: all install paths for moved files
- Update bin/make_vers: hardcoded doxygen/ path substitution
- Update doc/doxygen/CMakeLists.txt: EXAMPLES_DIRECTORY and comments
- Update README.md, CONTRIBUTING.md, SECURITY.md, config/README.md,
  release_docs/RELEASE_PROCESS.md: links to moved files
- Update doxygen .dox files: release_docs/ URLs for moved guides
- Rewrite release_docs/README.md for narrowed scope

* Add HDF5_DOCS_DIR variable for doc/ root path

Introduce HDF5_DOCS_DIR = \${HDF5_SOURCE_DIR}/doc so that
CMakeInstallation.cmake and future callers reference the doc/
directory symbolically rather than by hardcoded path.
HDF5_DOXYGEN_DIR is now derived from HDF5_DOCS_DIR.
2026-03-31 17:01:54 -06:00

255 lines
6.6 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/** \page collective_metadata_io Collective Metadata I/O
*
* Navigate back: \ref index "Main" / \ref TN
* <hr>
*
* The purpose of this page is to briefly describe the new HDF5 Collective Metadata I/O feature and
* provide a gateway to available documentation. The page includes the following sections:
* <ul>
* <li>
* @ref sec_collective_metadata_io_overview
* </li>
* <li>
* @ref sec_collective_metadata_io_resource
* </li>
* <li>
* @ref sec_collective_metadata_io_apis
* </li>
* </ul>
*
* \section sec_collective_metadata_io_overview Collective Metadata I/O Overview
* Calls for HDF5 metadata can result in many small reads and writes. On metadata reads, collective
* metadata I/O can improve performance by allowing the library to perform optimizations when reading
* the metadata, by having one rank read the data and broadcasting it to all other ranks.
*
* Collective metadata I/O improves metadata write performance through the construction of an MPI
* derived datatype that is then written collectively in a single call.
*
* \section sec_collective_metadata_io_resource Collective Metadata I/O User and Resource Documents
* HDF5 Collective Metadata I/O User Document (This document is not yet available.)
*
* Until an <em>HDF5 Collective Metadata I/O User Document</em> becomes available, users may find the
* following resources helpful:
* \li \ref_rfc20150424
* \li \ref_rfc20150423
*
* Taken together, these papers discuss the motivation, design, implementation, and API for HDF5’s
* Collective Metadata I/O feature.
*
* \section sec_collective_metadata_io_apis HDF5 Library APIs
*
* \subsection subsec_collective_metadata_io_apis_functions New Collective Metadata I/O Functions
* <table>
* <tr>
* <th>API</th>
* <th>Description</th>
* </tr>
* <tr>
* <td>#H5Pset_coll_metadata_write</td>
* <td>Establishes I/O mode property setting, collective or independent, for metadata writes</td>
* </tr>
* <tr>
* <td>#H5Pget_coll_metadata_write</td>
* <td>Retrieves I/O mode property setting for metadata writes</td>
* </tr>
* <tr>
* <td>#H5Pset_all_coll_metadata_ops</td>
* <td>Establishes I/O mode, collective or independent, for metadata read operations</td>
* </tr>
* <tr>
* <td>#H5Pget_all_coll_metadata_ops</td>
* <td>Retrieves I/O mode for metadata read operations</td>
* </tr>
* </table>
*
* \subsection subsec_collective_metadata_io_apis_reference Additional API Reference
*
* \subsubsection subsubsec_collective_metadata_io_apis_reference_may Functions with No Access Property List Parameter that May Generate Metadata Reads
*
* Currently there are several operations in HDF5 that can issue metadata reads from the metadata
* cache, but that take no property list. It is therefore not possible set a collective requirement
* individually for those operations. The only solution with the HDF5 1.10.0 release is to set the
* collective requirement globally on #H5Fopen or #H5Fcreate for all metadata operations to be collective.
*
* The following is a list of those functions in the HDF5 library. This list is integral to the
* discussion in the #H5Pset_all_coll_metadata_ops entry:
* <table>
* <tr>
* <th>API</th>
* </tr>
* <tr>
* <th>Attributes</th>
* </tr>
* <tr>
* <td>#H5Awrite</td>
* </tr>
* <tr>
* <td>#H5Aread</td>
* </tr>
* <tr>
* <td>#H5Arename</td>
* </tr>
* <tr>
* <td>#H5Aiterate2</td>
* </tr>
* <tr>
* <td>#H5Adelete</td>
* </tr>
* <tr>
* <td>#H5Aexists</td>
* </tr>
* <tr>
* <th>Datasets</th>
* </tr>
* <tr>
* <td>#H5Dget_space_status</td>
* </tr>
* <tr>
* <td>#H5Dget_storage_size</td>
* </tr>
* <tr>
* <td>#H5Dset_extent</td>
* </tr>
* <tr>
* <td>H5Ddebug</td>
* </tr>
* <tr>
* <td>#H5Dclose</td>
* </tr>
* <tr>
* <td>#H5Dget_create_plist</td>
* </tr>
* <tr>
* <td>#H5Dget_space (when dataset is a virtual dataset)</td>
* </tr>
* <tr>
* <th>Groups</th>
* </tr>
* <tr>
* <td>#H5Gget_create_plist</td>
* </tr>
* <tr>
* <td>#H5Gget_info</td>
* </tr>
* <tr>
* <td>#H5Gclose</td>
* </tr>
* <tr>
* <th>Links</th>
* </tr>
* <tr>
* <td>#H5Literate</td>
* </tr>
* <tr>
* <td>#H5Lvisit</td>
* </tr>
* <tr>
* <th>References</th>
* </tr>
* <tr>
* <td>#H5Rcreate</td>
* </tr>
* <tr>
* <td>#H5Rdereference2 (when reference is an object reference)</td>
* </tr>
* <tr>
* <td>#H5Rget_region</td>
* </tr>
* <tr>
* <td>#H5Rget_obj_type2</td>
* </tr>
* <tr>
* <td>#H5Rget_name</td>
* </tr>
* <tr>
* <th>Objects</th>
* </tr>
* <tr>
* <td>#H5Ocopy</td>
* </tr>
* <tr>
* <td>#H5Oopen_by_addr</td>
* </tr>
* <tr>
* <td>#H5Oincr_refcount</td>
* </tr>
* <tr>
* <td>#H5Odecr_refcount</td>
* </tr>
* <tr>
* <td>#H5Oget_info</td>
* </tr>
* <tr>
* <td>#H5Oset_comment</td>
* </tr>
* <tr>
* <td>#H5Ovisit</td>
* </tr>
* <tr>
* <th>Files</th>
* </tr>
* <tr>
* <td>#H5Fis_hdf5</td>
* </tr>
* <tr>
* <td>#H5Fflush</td>
* </tr>
* <tr>
* <td>#H5Fclose</td>
* </tr>
* <tr>
* <td>#H5Fget_file_image</td>
* </tr>
* <tr>
* <td>#H5Freopen</td>
* </tr>
* <tr>
* <td>#H5Fget_freespace</td>
* </tr>
* <tr>
* <td>#H5Fget_info2</td>
* </tr>
* <tr>
* <td>#H5Fget_free_sections</td>
* </tr>
* <tr>
* <td>#H5Fmount</td>
* </tr>
* <tr>
* <td>#H5Funmount</td>
* </tr>
* <tr>
* <th>Identifiers</th>
* </tr>
* <tr>
* <td>#H5Iget_name</td>
* </tr>
* <tr>
* <th>Datatypes</th>
* </tr>
* <tr>
* <td>#H5Tget_create_plist</td>
* </tr>
* <tr>
* <td>#H5Tclose</td>
* </tr>
* <tr>
* <th>Filters</th>
* </tr>
* <tr>
* <td>#H5Zunregister</td>
* </tr>
* </table>
*
* In addition, most deprecated functions fall into this category.
*
* The HDF Group may address the above limitation in a future major release, but no decision has
* been made at this time. Such a change might, for example, include adding new versions of some
* or all the above functions with an extra property list parameter to allow an individual setting
* for the collective calling requirement.
*
* <hr>
* Navigate back: \ref index "Main" / \ref TN
*
*/