HDF5 documents and links Introduction to HDF5 |
HDF5 User’s Guide HDF5 Reference Manual HDF5 Application Developer's Guide |
This document is designed to help developers maintain HDF5-based applications as they are used with successive releases of HDF5. To that end, this document lists the changes at each release that a maintenance developer needs to be aware of:
Bug fixes and performance enhancements in the C library are automatically picked up by the C++, Fortran, and Java libraries.
The release notes also list changes made to the library, but these notes tend to be more at a more detail-oriented level. The release notes may include new features, bugs fixed, supported configuration features, platforms on which the library has been tested, and known problems. The release note files are listed below and can be found at the top level of the HDF5 source code tree in the release_docs directory of the distributed HDF5 source code.
RELEASE.txt |
Technical notes regarding the current release of the HDF5 Library |
HISTORY-1_10.txt |
Release information for all HDF5-1.10 releases |
HISTORY-1_8_0-1_10_0.txt |
Development history between the HDF5-1.8.0 and HDF5-1.10.0 releases |
HISTORY-1_10.txt |
Release information for HDF5-1.8.0 through HDF5-1.8.17 releases |
HISTORY-1_0-1_8_0_rc3.txt
|
Technical notes starting with HDF5-1.0.0 and ending with HDF5-1.8.0-rc3 (the state of the code prior to the HDF5-1.8.0 release) |
H5Pget_mdc_image_config
|
Retrieves the metadata cache image configuration values for a file access property list. |
H5Pset_mdc_image_config
|
Sets the metadata cache image option for a file access property list. |
H5Fget_mdc_image_info
|
Gets information about a metadata cache image if it exists. |
H5Pget_evict_on_close
|
Retrieves the property list setting that determines whether an HDF5 object will be evicted from the library's metadata cache when it is closed. |
H5Pset_evict_on_close
|
Controls the library's behavior of evicting metadata associated with a closed object. |
H5Pget_file_space_page_size
|
Retrieves the file space page size for a file creation property list. |
H5Pset_file_space_page_size
|
Sets the file space page size (used with paged aggregation) for a file creation property list. |
H5Pget_file_space_strategy
|
Retrieves the file space handling strategy for a file creation property list. |
H5Pset_file_space_strategy
|
Sets the file space allocation strategy for a file creation property list. |
H5Pget_page_buffer_size
|
Retrieves the maximum size for the page buffer and the minimum percentage for metadata and raw data pages. |
H5Pset_page_buffer_size
|
Sets the maximum size for the page buffer and the minimum percentage for metadata and raw data pages. |
H5Fget_page_buffering_stats
|
Retrieves statistics about page access when it is enabled. |
H5Freset_page_buffering_stats
|
Resets the page buffer statistics. |
H5PLappend
|
H5PLget
|
H5PLinsert
|
H5PLprepend
|
H5PLremove
|
H5PLreplace
|
H5PLsize
|
const
versions. For example,
these methods,
ArrayType::getArrayDims ( hsize_t* dims ) const
ArrayType::getArrayNDims ( ) const
ArrayType::getArrayDims ( hsize_t* dims )
ArrayType::getArrayNDims ( )
H5Location::openDataSet ( char const* name ) const
CommonFG::openDataSet ( char const* name ) const
hid_t
hid_t
is the type is used for all
HDF5 identifiers. This change, which is necessary
to accomodate the capacities of modern computing systems,
therefore affects all HDF5 applications.
If an application has been using HDF5’s
hid_t
the type, recompilation will normally
be sufficient to take advantage of HDF5 Release 1.10.0.
If an application uses an integer type instead of
HDF5’s hid_t
type,
those identifiers must be changed to a 64-bit type
when the application is ported to the 1.10.x series.
H5Fstart_swmr_write |
Enables SWMR writing mode for a file. |
H5DOappend |
Appends data to a dataset along a specified dimension.
(This is a high-level API.) |
H5Pget_append_flush
|
Retrieves the values of the append property that is set up in the dataset access property list. |
H5Pset_append_flush
|
Sets two actions to perform when the size of a dataset’s dimension being appended reaches a specified boundary. |
H5Pget_object_flush_cb
|
Retrieves the object flush property values from the file access property list. |
H5Pset_object_flush_cb
|
Sets a callback function to invoke when an object flush occurs in the file. |
H5Odisable_mdc_flushes
|
Prevents metadata entries for an HDF5 object from being flushed from the metadata cache to storage. |
H5Oenable_mdc_flushes
|
Returns the cache entries associated with an HDF5 object to the default metadata flush and eviction algorithm. |
H5Oare_mdc_flushes_disabled
|
|
Determines if an HDF5 object (dataset, group, committed datatype) has had flushes of metadata entries disabled. | |
H5Fdisable_mdc_flushes
|
Globally prevents dirty metadata entries from being flushed from the metadata cache to storage. |
H5Fenable_mdc_flushes
|
Returns a file’s metadata cache to the standard eviction and flushing algorithm. |
H5Fare_mdc_flushes_disabled
|
|
Determines if flushes have been globally disabled for a file’s metadata cache. | |
H5Fget_mdc_flush_disabled_obj_ids
|
|
Returns a list of all object identifiers for which flushes have been disabled in a file’s metadata cache. | |
Command-line Tools: |
|
h5watch
|
Allows users to output new records appended to a dataset under
SWMR access as it grows. The functionality is similar
to the Unix user command tail with the follow option,
which outputs appended data as the file grows.
|
h5format_convert
|
This tool allows users to convert the indexing type of a chunked dataset made with a 1.10.x version of the HDF5 Library when the latest file format is used to the 1.8.x version 1 B-tree indexing type. For example, datasets created using SWMR access, can be converted to be accessed by the HDF5 1.18 library and tools. The tool does not rewrite raw data, but it does rewrite HDF5 metadata. |
H5Pset_coll_metadata_write
h5pset_coll_metadata_write_f |
Establishes I/O mode property setting, collective or independent, for metadata writes. |
H5Pget_coll_metadata_write
h5pget_coll_metadata_write_f |
Retrieves I/O mode property setting for metadata writes. |
H5Pset_all_coll_metadata_ops
h5pset_all_coll_metadata_ops_f
|
Establishes I/O mode, collective or independent, for metadata read operations. |
H5Pget_all_coll_metadata_ops
h5pget_all_coll_metadata_ops_f |
Retrieves I/O mode for metadata read operations. |
H5Fget_metadata_read_retries_info
| |
Retrieves the collection of read retries for metadata items with checksum. | |
H5Pget_metadata_read_attempts
| |
Retrieves the number of read attempts from a file access property list. | |
H5Pset_metadata_read_attempts
| |
Sets the number of read attempts in a file access property list. | |
H5Dflush
|
Causes all buffers associated with a dataset to be immediately written to disk without removing the data from the cache. |
H5Drefresh
|
Causes all buffers associated with a dataset to be cleared and immediately re-loaded with updated contents from disk storage. |
H5Gflush
|
Causes all buffers associated with a group to be immediately flushed to disk without removing the data from the cache. |
H5Grefresh
|
Causes all buffers associated with a group to be cleared and immediately re-loaded with updated contents from disk storage. |
H5Oflush
|
Causes all buffers associated with an object to be immediately flushed to disk without removing the data from the cache. |
H5Orefresh
|
Causes all buffers associated with an object to be cleared and immediately re-loaded with updated contents from disk storage. |
H5Tflush
|
Causes all buffers associated with a committed datatype to be immediately flushed to disk without removing the data from the cache. |
H5Trefresh
|
Causes all buffers associated with a committed datatype to be cleared and immediately re-loaded with updated contents from disk storage. |
H5Fget_intent
|
Determines the read/write or read-only status of a file. |
Logging APIs: |
|
H5Pset_mdc_log_options
|
Sets metadata cache logging options. |
H5Pget_mdc_log_options
|
Gets metadata cache logging options. |
H5Fstart_mdc_logging
|
Starts logging metadata cache events if logging was previously enabled. |
H5Fstop_mdc_logging
|
Stops logging metadata cache events if logging was previously enabled and is currently ongoing. |
H5Pget_mdc_logging_status
| |
Gets the current metadata cache logging status. |
H5Fget_free_sections
|
Retrieves free-space section information for a file. | |
H5Fget_freespace
|
Returns the amount of free space in a file. | |
H5Fget_info2
|
Returns global information for a file. | |
H5Pset_file_space
|
Sets the file space management strategy and/or the free-space section threshold for an HDF5 file. | |
H5Pget_file_space
|
Retrieves the file space management strategy and/or the free-space section threshold for an HDF5 file. | |
The following tool has been modified to preserve or modify file freepace information appropriately when processing files employing the VDS feature: | ||
h5repack
|
Repacks HDF5 files with various options, including the ability
to change the applied filters.
This version of h5repack understands the
file free space feature and handles the file and metadata
appropriately.
|
H5Pset_virtual
h5pset_virtual_f |
Sets the mapping between virtual and source datasets. |
H5Pget_virtual_count
h5pget_virtual_count_f |
Retrieves the number of mappings for the virtual dataset. |
H5Pget_virtual_vspace
h5pget_virtual_vspace_f
|
Retrieves a dataspace identifier for the selection within the virtual dataset used in the mapping. |
H5Pget_virtual_srcspace
h5pget_virtual_srcspace_f
|
Retrieves a dataspace identifier for the selection within the source dataset used in the mapping. |
H5Pget_virtual_dsetname
h5pget_virtual_dsetname_f
|
Retrieves the name of a source dataset used in the mapping. |
H5Pget_virtual_filename
h5pget_virtual_filename_f
|
Retrieves the filename of a source dataset used in the mapping. |
H5Pset_virtual_printf_gap
h5pset_virtual_printf_gap_f
|
Sets maximum number of missing source files and/or datasets with printf-style names when getting the extent of an unlimited virtual dataset. |
H5Pget_virtual_printf_gap
h5pget_virtual_printf_gap_f
|
Returns maximum number of missing source files and/or datasets with printf-style names when getting the extent for an unlimited virtual dataset. |
H5Pset_virtual_view
h5pset_virtual_view_f
|
Sets the view of the virtual dataset to include or exclude missing mapped elements. |
H5Pget_virtual_view
h5pget_virtual_view_f
|
Retrieves the view of a virtual dataset. |
Supporting Functions: |
|
H5Sis_regular_hyperslab
h5sis_regular_hyperslab_f
|
Determines whether a hyperslab selection is regular. |
H5Sget_regular_hyperslab
h5sget_regular_hyperslab_f
|
Retrieves a regular hyperslab selection. |
Modified Functions: The following pre-exising functions have been modified to understand virtual datasets. |
|
H5Pset_layout
h5pset_layout_f |
Specifies the layout to be used for a dataset.
Virtual dataset, H5D_VIRTUAL , has been added
to the list of layouts available through this function. |
H5Pget_layout
h5pget_layout_f |
Retrieves the layout in use for a dataset.
Virtual dataset, H5D_VIRTUAL , has been added
to the list of layouts. |
H5Pset_chunk_opts |
Sets a partial edge chunk option in a dataset access property list. |
H5Pget_chunk_opts |
Retrieves partial edge chunk option setting from a dataset access property list. |
H5Pset_elink_prefix |
These functions enable the user to specify the locations of
external files.
(These functions are not yet documented.) |
H5Pget_elink_prefix |
H5Pencode |
|
H5Pdecode |
H5Dformat_convert H5Dget_chunk_index_type H5FDlock H5FDunlock H5Fformat_convert H5LDget_dset_dims H5LDget_dset_elmts H5LDget_dset_type_size
H5PTcreate
H5PTcreate_fl
has been
removed.H5PTfree_vlen_buff
H5PTfree_vlen_readbuff
.
H5PTget_dataset
H5PTget_type
H5PTis_varlen
FL_PacketTable
H5PTfree_vlen_buff
H5PTfree_vlen_readbuff
.
PacketTable
.
PacketTable::GetDataset()
PacketTable::GetDatatype()
PacketTable::FreeBuff()
VL_PacketTable::FreeReadBuff()
.
PacketTable::IsVariableLength()
VL_PacketTable::IsVariableLength()
.
char*
as an argument,
an overloaded functions has been added to provide
the const char*
argument.
--enable-java
HDF5_BUILD_JAVA:BOOL=ON
hdf.hdflib.hdf5
.
Prior to the 1.10.x series, the hierarchy was
ncsa.hdf.hdflib.hdf5
.
H5Lexists
/
(a slash representing the root of an HDF5 file)
H5Lexists
now returns successfully
with the value 1
(one).
See the entry in the HDF5 Reference Manual
for
H5Lexists
for more information.
v18
flag was added enabling the building
of HDF5 such that the default API is compatible with the
HDF5 Release 1.8.x API:
--with-default-api-version=v18
H5Fget_info
H5Fget_info1
and deprecated.
H5Fget_info2
, is introduced.
H5Fget_info
is introduced.
H5F_info_t
H5Fget_info
functions and macro.
H5F_info1_t
and deprecated.
H5F_info2_t
, is introduced.
H5F_info_t
is introduced.
H5Rdereference
H5Rdereference1
and deprecated.
H5Rdereference2
, is introduced.
H5Rdereference
is introduced.
RELEASE.txt
:
RELEASE.txt
is found in the
release_docs/
subdirectory at the root level
of the HDF5 code distribution.
hid_t
change from 32-bit to 64-bit was made in order to address a performance problem that arose when the library “ran out” of valid object identifiers to issue and thus needed to employ an expensive algorithm to find previously issued identifiers that could be re-issued. This problem is avoided by switching the size of the hid_t
type to 64-bit integers instead of 32-bit integers in order to make the pool of available integers significantly larger. (H5E_major_t
and H5E_minor_t
are aliased to hid_t
which is why they changed size as well). (An alternate solution to this problem was applied in release HDF5 1.8.5 but this is the cleaner/preferred solution and had to wait until 1.10.0 to be included).
hbool_t
will now be defined as a _Bool
type when configure determines that it’s available.
Public structs that have members of type hid_t
or hbool_t
are affected by the above changes accordingly.
The H5Fget_info
function was renamed due to the introduction of a newer version of the function which returns additional information.
The H5Rdereference
function was renamed due to the introduction of a newer version of the function which allows a data access property list to be passed in. Both changes are accompanied with compatibility macros, so while existing code will need to be recompiled in order to use the newer library version, these functions do not need to be changed in application code using them provided that the HDF5 API compatibility macros are configured appropriately.
HDF5 documents and links Introduction to HDF5 |
HDF5 User’s Guide HDF5 Reference Manual HDF5 Application Developer's Guide |
The HDF Group Help Desk:
Describes HDF5 Release 1.10. |
Copyright by
The HDF Group
and the Board of Trustees of the University of Illinois |