mirror of
https://github.com/HDFGroup/hdf5.git
synced 2026-09-25 04:09:44 +03:00
* 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.
255 lines
6.6 KiB
Plaintext
255 lines
6.6 KiB
Plaintext
/** \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
|
||
*
|
||
*/
|