1998-02-18 04:19:13 +08:00
|
|
|
Release information for hdf5-1.0.0a
|
1998-06-23 11:41:22 +08:00
|
|
|
-----------------------------------
|
1998-01-30 05:56:06 +08:00
|
|
|
|
1998-07-01 05:30:28 +08:00
|
|
|
CHANGES SINCE THE FIRST ALPHA
|
|
|
|
|
|
|
|
* Two of the packages have been renamed. The data space API has been
|
|
|
|
renamed from `H5P' to `H5S' and the property list (template) API has
|
|
|
|
been renamed from `H5C' to `H5P'.
|
|
|
|
|
|
|
|
* The new attribute API `H5A' has been added. An attribute is a small
|
|
|
|
dataset which can be attached to some other object (for instance, a
|
|
|
|
4x4 transformation matrix attached to a 3-dimensional dataset, or an
|
|
|
|
English abstract attached to a group).
|
|
|
|
|
|
|
|
* The error handling API `H5E' has been completed. By default, when an
|
|
|
|
API function returns failure an error stack is displayed on the
|
|
|
|
standard error stream. The H5Eset_auto() controls the automatic
|
|
|
|
printing and H5E_BEGIN_TRY/H5E_END_TRY macros can temporarily
|
|
|
|
disable the automatic error printing.
|
|
|
|
|
|
|
|
* Support for large files and datasets (>2GB) has been added. There
|
|
|
|
is an html document that describes how it works. Some of the types
|
|
|
|
for function arguments have changed to support this: all arguments
|
|
|
|
pertaining to sizes of memory objects are `size_t' and all arguments
|
|
|
|
pertaining to file sizes are `hsize_t'.
|
|
|
|
|
|
|
|
* More data type conversions have been added although none of them are
|
|
|
|
fine tuned for performance. There are new converters from integer
|
|
|
|
to integer and float to float, but not between integers and floating
|
|
|
|
points. A bug has been fixed in the converter between compound
|
|
|
|
types.
|
|
|
|
|
|
|
|
* The numbered types have been removed from the API: int8, uint8,
|
|
|
|
int16, uint16, int32, uint32, int64, uint64, float32, and float64.
|
|
|
|
Use standard C types instead. Similarly, the numbered types were
|
|
|
|
removed from the H5T_NATIVE_* architecture; use unnumbered types
|
|
|
|
which correspond to the standard C types like H5T_NATIVE_INT.
|
|
|
|
|
|
|
|
* More debugging support was added. If tracing is enabled at
|
|
|
|
configuration time and the HDF5_TRACE environment variable is set to
|
|
|
|
a file descriptor then all API calls will emit the function name,
|
|
|
|
argument names and values, and return value on that file number.
|
|
|
|
There is an html document that describes this. If appropriate
|
|
|
|
debugging options are enabled at configuration time, some packages
|
|
|
|
will display performance information on stderr.
|
|
|
|
|
|
|
|
* Data types can be stored in the file as independent objects and
|
|
|
|
multiple datasets can share a data type.
|
|
|
|
|
|
|
|
* The raw data I/O stream has been implemented and the application can
|
|
|
|
control meta and raw data caches, so I/O performance should be
|
|
|
|
improved from the first alpha release.
|
|
|
|
|
|
|
|
* Group and attribute query functions have been implemented so it is
|
|
|
|
now possible to find out the contents of a file with no prior
|
|
|
|
knowledge.
|
|
|
|
|
|
|
|
* External raw data storage allows datasets to be written by other
|
|
|
|
applications or I/O libraries and described and accessed through
|
|
|
|
HDF5.
|
|
|
|
|
|
|
|
* Hard and soft (symbolic) links are implemented which allow groups to
|
|
|
|
share objects.
|
|
|
|
|
|
|
|
* User-defined data compression is implemented although we may
|
|
|
|
generalize the interface to allow arbitrary user-defined filters
|
|
|
|
which can be used for compression, checksums, encryption,
|
|
|
|
performance monitoring, etc. The publicly-available `deflate'
|
|
|
|
method is predefined if the GNU libz.a can be found at configuration
|
|
|
|
time.
|
|
|
|
|
|
|
|
* The configuration scripts have been modified to make it easier to
|
|
|
|
build debugging vs. production versions of the library.
|
|
|
|
|
|
|
|
* The library automatically checks that the application was compiled
|
|
|
|
with the correct version of header files.
|
|
|
|
|
1998-07-13 14:03:41 +08:00
|
|
|
|
|
|
|
Parallel HDF5 Changes
|
|
|
|
|
|
|
|
* Parallel support for fixed dimension datasets with contiguous or
|
|
|
|
chunked storages. Also, support unlimited dimension datasets which
|
|
|
|
must use chunk storage. No parallel support for compressed datasets.
|
|
|
|
|
|
|
|
* Collective data transfer for H5Dread/H5Dwrite. Collective access
|
|
|
|
support for datasets with contiguous storage only, thus only fixed
|
|
|
|
dimension datasets for now.
|
|
|
|
|
|
|
|
* H5Pset_mpi and H5Pget_mpi no longer have the access_mode
|
|
|
|
argument. It is taken over by the data-transfer property list
|
|
|
|
of H5Dread/H5Dwrite.
|
|
|
|
|
|
|
|
* New functions H5Pset_xfer and H5Pget_xfer to handle the
|
|
|
|
specification of independent or collective data transfer_mode
|
|
|
|
in the dataset transfer properties list. The properties
|
|
|
|
list can be used to specify data transfer mode in the H5Dwrite
|
|
|
|
and H5Dread function calls.
|
|
|
|
|
|
|
|
* Added parallel support for datasets with chunked storage layout.
|
|
|
|
When a dataset is extend in a PHDF5 file, all processes that open
|
|
|
|
the file must collectively call H5Dextend with identical new dimension
|
|
|
|
sizes.
|
|
|
|
|
1998-07-01 05:30:28 +08:00
|
|
|
|
|
|
|
LIST OF API FUNCTIONS
|
|
|
|
|
1998-01-30 05:56:06 +08:00
|
|
|
The following functions are implemented. Errors are returned if an
|
|
|
|
attempt is made to use some feature which is not implemented and
|
|
|
|
printing the error stack will show `not implemented yet'.
|
|
|
|
|
1998-01-31 03:25:44 +08:00
|
|
|
Library
|
1998-06-23 11:41:22 +08:00
|
|
|
H5check - check that lib version matches header version
|
|
|
|
H5open - initialize library (happens automatically)
|
|
|
|
H5close - shut down the library (happens automatically)
|
|
|
|
H5dont_atexit - don't call H5close on exit
|
1998-01-31 03:25:44 +08:00
|
|
|
H5version - retrieve library version info
|
1998-06-23 11:41:22 +08:00
|
|
|
H5version_check - check for specific library version
|
1998-01-31 03:25:44 +08:00
|
|
|
|
1998-06-23 11:41:22 +08:00
|
|
|
Property Lists
|
|
|
|
H5Pclose - release template resources
|
|
|
|
H5Pcopy - copy a template
|
|
|
|
H5Pcreate - create a new template
|
|
|
|
H5Pget_chunk - get chunked storage properties
|
|
|
|
H5Pset_chunk - set chunked storage properties
|
|
|
|
H5Pget_class - get template class
|
|
|
|
H5Pget_istore_k - get chunked storage properties
|
|
|
|
H5Pset_istore_k - set chunked storage properties
|
|
|
|
H5Pget_layout - get raw data layout class
|
|
|
|
H5Pset_layout - set raw data layout class
|
|
|
|
H5Pget_sizes - get address and size sizes
|
|
|
|
H5Pset_sizes - set address and size sizes
|
|
|
|
H5Pget_sym_k - get symbol table storage properties
|
|
|
|
H5Pset_sym_k - set symbol table storage properties
|
|
|
|
H5Pget_userblock - get user-block size
|
|
|
|
H5Pset_userblock - set user-block size
|
|
|
|
H5Pget_version - get file version numbers
|
|
|
|
H5Pget_alignment - get data alignment properties
|
|
|
|
H5Pset_alignment - set data alignment properties
|
|
|
|
H5Pget_external_count- get count of external data files
|
|
|
|
H5Pget_external - get information about an external data file
|
|
|
|
H5Pset_external - add a new external data file to the list
|
|
|
|
H5Pget_driver - get low-level file driver class
|
|
|
|
H5Pget_stdio - get properties for stdio low-level driver
|
|
|
|
H5Pset_stdio - set properties for stdio low-level driver
|
|
|
|
H5Pget_sec2 - get properties for sec2 low-level driver
|
|
|
|
H5Pset_sec2 - set properties for sec2 low-level driver
|
|
|
|
H5Pget_core - get properties for core low-level driver
|
|
|
|
H5Pset_core - set properties for core low-level driver
|
|
|
|
H5Pget_split - get properties for split low-level driver
|
|
|
|
H5Pset_split - set properties for split low-level driver
|
|
|
|
H5P_get_family - get properties for family low-level driver
|
|
|
|
H5P_set_family - set properties for family low-level driver
|
|
|
|
H5Pget_cache - get meta- and raw-data caching properties
|
|
|
|
H5Pset_cache - set meta- and raw-data caching properties
|
|
|
|
H5Pget_buffer - get raw-data I/O pipe buffer properties
|
|
|
|
H5Pset_buffer - set raw-data I/O pipe buffer properties
|
|
|
|
H5Pget_preserve - get type conversion preservation properties
|
|
|
|
H5Pset_preserve - set type conversion preservation properties
|
|
|
|
H5Pget_compression - get raw data compression properties
|
|
|
|
H5Pset_compression - set raw data compression properties
|
|
|
|
H5Pget_deflate - get deflate compression properties
|
|
|
|
H5Pset_deflate - set deflate compression properties
|
|
|
|
H5Pget_mpi - get MPI-IO properties
|
|
|
|
H5Pset_mpi - set MPI-IO properties
|
|
|
|
H5Pget_xfer - get data transfer properties
|
|
|
|
H5Pset_xfer - set data transfer properties
|
1998-01-30 05:56:06 +08:00
|
|
|
|
|
|
|
Datasets
|
|
|
|
H5Dclose - release dataset resources
|
|
|
|
H5Dcreate - create a new dataset
|
|
|
|
H5Dget_space - get data space
|
1998-06-23 11:41:22 +08:00
|
|
|
H5Dget_type - get data type
|
|
|
|
H5Dget_create_plist - get dataset creation properties
|
1998-01-30 05:56:06 +08:00
|
|
|
H5Dopen - open an existing dataset
|
|
|
|
H5Dread - read raw data
|
|
|
|
H5Dwrite - write raw data
|
1998-06-23 11:41:22 +08:00
|
|
|
H5Dextend - extend a dataset
|
|
|
|
|
|
|
|
Attributes
|
|
|
|
H5Acreate - create a new attribute
|
|
|
|
H5Aopen_name - open an attribute by name
|
|
|
|
H5Aopen_idx - open an attribute by number
|
|
|
|
H5Awrite - write values into an attribute
|
|
|
|
H5Aread - read values from an attribute
|
|
|
|
H5Aget_space - get attribute data space
|
|
|
|
H5Aget_type - get attribute data type
|
|
|
|
H5Aget_name - get attribute name
|
|
|
|
H5Anum_attrs - return the number of attributes for an object
|
|
|
|
H5Aiterate - iterate over an object's attributes
|
|
|
|
H5Adelete - delete an attribute
|
|
|
|
H5Aclose - close an attribute
|
1998-01-30 05:56:06 +08:00
|
|
|
|
|
|
|
Errors
|
|
|
|
H5Eclear - clear the error stack
|
|
|
|
H5Eprint - print an error stack
|
1998-06-23 11:41:22 +08:00
|
|
|
H5Eget_auto - get automatic error reporting settings
|
|
|
|
H5Eset_auto - set automatic error reporting
|
|
|
|
H5Ewalk - iterate over the error stack
|
|
|
|
H5Ewalk_cb - the default error stack iterator function
|
|
|
|
H5Eget_major - get the message for the major error number
|
|
|
|
H5Eget_minor - get the message for the minor error number
|
1998-01-30 05:56:06 +08:00
|
|
|
|
|
|
|
Files
|
|
|
|
H5Fclose - close a file and release resources
|
|
|
|
H5Fcreate - create a new file
|
1998-06-23 11:41:22 +08:00
|
|
|
H5Fget_create_template- get file creation property list
|
|
|
|
H5Fget_access_template- get file access property list
|
1998-01-30 05:56:06 +08:00
|
|
|
H5Fis_hdf5 - determine if a file is an hdf5 file
|
|
|
|
H5Fopen - open an existing file
|
|
|
|
|
|
|
|
Groups
|
|
|
|
H5Gclose - close a group and release resources
|
|
|
|
H5Gcreate - create a new group
|
|
|
|
H5Gopen - open an existing group
|
|
|
|
H5Gpop - pop a group from the cwg stack
|
|
|
|
H5Gpush - push a group onto the cwg stack
|
|
|
|
H5Gset - set the current working group (cwg)
|
1998-06-23 11:41:22 +08:00
|
|
|
H5Giterate - iterate over the contents of a group
|
|
|
|
H5Gmove - change the name of some object
|
|
|
|
H5Glink - create a hard or soft link to an object
|
|
|
|
H5Gunlink - break the link between a name and an object
|
|
|
|
H5Gstat - get information about a group entry
|
|
|
|
H5Gget_linkval - get the value of a soft link
|
1998-01-30 05:56:06 +08:00
|
|
|
|
|
|
|
Data spaces
|
1998-06-23 11:41:22 +08:00
|
|
|
H5Sclose - release data space resources
|
|
|
|
H5Screate_simple - create a new simple data space
|
|
|
|
H5Sget_dims - get data space size
|
|
|
|
H5Sget_hyperslab - get data space selection
|
|
|
|
H5Sset_hyperslab - select data points
|
|
|
|
H5Sget_ndims - get data space dimensionality
|
|
|
|
H5Sget_npoints - get number of selected points
|
|
|
|
H5Sis_simple - determine if data space is simple
|
|
|
|
H5Sset_space - reset data space dimensionality and size
|
|
|
|
H5Scopy - copy a data space
|
1998-01-30 05:56:06 +08:00
|
|
|
|
|
|
|
Data types
|
|
|
|
H5Tclose - release data type resources
|
1998-06-23 11:41:22 +08:00
|
|
|
H5Topen - open a named data type
|
|
|
|
H5Tcommit - name a data type
|
|
|
|
H5Tcommitted - determine if a type is named
|
1998-01-30 05:56:06 +08:00
|
|
|
H5Tcopy - copy a data type
|
|
|
|
H5Tcreate - create a new data type
|
|
|
|
H5Tequal - compare two data types
|
|
|
|
H5Tfind - find a data type conversion function
|
1998-06-23 11:41:22 +08:00
|
|
|
H5Tconvert - convert data from one type to another
|
1998-01-30 05:56:06 +08:00
|
|
|
H5Tget_class - get data type class
|
|
|
|
H5Tget_cset - get character set
|
|
|
|
H5Tget_ebias - get exponent bias
|
|
|
|
H5Tget_fields - get floating point fields
|
|
|
|
H5Tget_inpad - get inter-field padding
|
|
|
|
H5Tget_member_dims - get struct member dimensions
|
|
|
|
H5Tget_member_name - get struct member name
|
|
|
|
H5Tget_member_offset - get struct member byte offset
|
|
|
|
H5Tget_member_type - get struct member type
|
|
|
|
H5Tget_nmembers - get number of struct members
|
|
|
|
H5Tget_norm - get floating point normalization
|
|
|
|
H5Tget_offset - get bit offset within type
|
|
|
|
H5Tget_order - get byte order
|
|
|
|
H5Tget_pad - get padding type
|
|
|
|
H5Tget_precision - get precision in bits
|
|
|
|
H5Tget_sign - get integer sign type
|
|
|
|
H5Tget_size - get size in bytes
|
|
|
|
H5Tget_strpad - get string padding
|
|
|
|
H5Tinsert - insert struct member
|
|
|
|
H5Tlock - lock type to prevent changes
|
|
|
|
H5Tpack - pack struct members
|
|
|
|
H5Tregister_hard - register specific type conversion function
|
|
|
|
H5Tregister_soft - register general type conversion function
|
|
|
|
H5Tset_cset - set character set
|
|
|
|
H5Tset_ebias - set exponent bias
|
|
|
|
H5Tset_fields - set floating point fields
|
|
|
|
H5Tset_inpad - set inter-field padding
|
|
|
|
H5Tset_norm - set floating point normalization
|
|
|
|
H5Tset_offset - set bit offset within type
|
|
|
|
H5Tset_order - set byte order
|
|
|
|
H5Tset_pad - set padding type
|
|
|
|
H5Tset_precision - set precision in bits
|
|
|
|
H5Tset_sign - set integer sign type
|
|
|
|
H5Tset_size - set size in bytes
|
|
|
|
H5Tset_strpad - set string padding
|
|
|
|
H5Tunregister - remove a type conversion function
|
|
|
|
|
1998-06-23 11:41:22 +08:00
|
|
|
Compression
|
|
|
|
H5Tregister - register a new compression method
|
|
|
|
|
1998-01-30 05:56:06 +08:00
|
|
|
This release has been tested on UNIX platforms only; specifically:
|
|
|
|
Linux, FreedBSD, IRIX, Solaris & Dec UNIX.
|
1998-02-16 12:39:58 +08:00
|
|
|
|
|
|
|
|
|
|
|
Release information for parallel HDF5
|
|
|
|
-------------------------------------
|
|
|
|
|
|
|
|
+) Current release supports independent access to fixed dimension datasets
|
|
|
|
only.
|
|
|
|
|
|
|
|
+) The comm and info arguments of H5Cset_mpi are not used. All parallel
|
|
|
|
I/O are done via MPI_COMM_WORLD. Access_mode for H5Cset_mpi can be
|
|
|
|
H5ACC_INDEPENDENT only.
|
|
|
|
|
1998-02-17 05:05:08 +08:00
|
|
|
+) This release of parallel HDF5 has been tested on IBM SP2 and SGI
|
|
|
|
Origin 2000 systems. It uses the ROMIO version of MPIO interface
|
|
|
|
for parallel I/O supports.
|
1998-02-16 12:39:58 +08:00
|
|
|
|
|
|
|
+) Useful URL's.
|
|
|
|
Parallel HDF webpage: "http://hdf.ncsa.uiuc.edu/Parallel_HDF/"
|
|
|
|
ROMIO webpage: "http://www.mcs.anl.gov/home/thakur/romio/"
|
|
|
|
|
1998-02-17 05:05:08 +08:00
|
|
|
+) Some to-do items for future releases
|
|
|
|
support for Intel Teraflop platform.
|
|
|
|
support for unlimited dimension datasets.
|
|
|
|
support for file access via a communicator besides MPI_COMM_WORLD.
|
|
|
|
support for collective access to datasets.
|
|
|
|
support for independent create/open of datasets.
|