mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-12-21 07:51:46 +08:00
8986 lines
416 KiB
Plaintext
8986 lines
416 KiB
Plaintext
HDF5 HISTORY
|
|
============
|
|
This file contains history of the HDF5 libraries releases starting with
|
|
HDF5-1.0.0 and ending with HDF5-1.8.0-rc3 (the state of the code before i
|
|
the HDF5 1.8.0 release).
|
|
|
|
CONTENTS
|
|
|
|
22. Changes from 1.6.0 to 1.8.0-rc3
|
|
21. Release Information for hdf5-1.6.7
|
|
20. Release Information for hdf5-1.6.6
|
|
19. Release Information for hdf5-1.6.5
|
|
18. Release Information for hdf5-1.6.4
|
|
17. Release Information for hdf5-1.6.3
|
|
16. Release Information for hdf5-1.6.2
|
|
15. Release Information for hdf5-1.6.1
|
|
14. Release Information for hdf5-1.6.0
|
|
13. Release Information for hdf5-1.4.5
|
|
12. Release Information for hdf5-1.4.4
|
|
11. Release Information for hdf5-1.4.3
|
|
10. Release Information for hdf5-1.4.2
|
|
9. Release Information for hdf5-1.4.1
|
|
8. Release Information for hdf5-1.4.0
|
|
7. Release Information for hdf5-1.2.2
|
|
6. Release Information for hdf5-1.2.1
|
|
5. Release Information for hdf5-1.2.0
|
|
4. Changes from Release 1.0.0 to Release 1.0.1
|
|
3. Changes from the Beta 1.0.0 Release to Release 1.0.0
|
|
2. Changes from the Second Alpha 1.0.0 Release to the Beta 1.0.0 Release
|
|
1. Changes from the First Alpha 1.0.0 Release to the
|
|
Second Alpha 1.0.0 Release
|
|
|
|
[Search on the string '%%%%' for per-release section breaks.]
|
|
|
|
%%%%1.8.0-rc3%%%% Changes from 1.6.0 to 1.8.0-rc3
|
|
|
|
|
|
HDF5 version 1.8.0-rc3
|
|
================================================================================
|
|
|
|
|
|
INTRODUCTION
|
|
|
|
This document describes the differences between HDF5-1.6.* and
|
|
Hdf5 1.8.0 release candidate "HDF5-1.8.0-rc3", and contains information
|
|
on the platforms tested and known problems in HDF5-1.8.0-rc3.
|
|
For more details check the HISTORY.txt file in the HDF5 source.
|
|
|
|
|
|
Links to HDF5 1.8.0-rc3 source code, documentation, and additional materials
|
|
can be found on THG's development server (www.hdfgroup.uiuc.edu) at the
|
|
following location:
|
|
http://www.hdfgroup.uiuc.edu/HDF5/release/beta/obtain518.html
|
|
User documentation for the beta can be accessed directly at this location:
|
|
http://www.hdfgroup.uiuc.edu/HDF5/doc_1.8pre/doc/
|
|
|
|
New features of the upcoming 1.8.0 release are described in
|
|
the "What's New in 1.8.0?" document:
|
|
http://www.hdfgroup.uiuc.edu/HDF5/doc_1.8pre/WhatsNew180.html
|
|
|
|
New and modified APIs are described briefly in
|
|
http://www.hdfgroup.uiuc.edu/HDF5/doc_1.8pre/WhatsNew180.html
|
|
and will be listed in the "HDF5 Software Changes" document:
|
|
http://www.hdfgroup.uiuc.edu/HDF5/doc_1.8pre/doc/ADGuide/Changes.html
|
|
|
|
|
|
|
|
For more information, see the HDF5 home page:
|
|
|
|
http://www.hdfgroup.org/HDF5/
|
|
|
|
If you have any questions or comments, please send them to the HDF Help Desk:
|
|
|
|
help@hdfgroup.org
|
|
|
|
|
|
CONTENTS
|
|
|
|
- New Features
|
|
- Support for new platforms and languages
|
|
- Bug Fixes since HDF5-1.6.0
|
|
- Platforms Tested
|
|
- Known Problems
|
|
|
|
|
|
New Features
|
|
============
|
|
|
|
Configuration:
|
|
--------------
|
|
- Removed stream-vfd from the HDF5 library. - AKC 2007/11/19.
|
|
- Updated versions of autotools. HDF5 now uses automake 1.10.0,
|
|
autoconf 2.61, and libtool 1.5.22. MAM - 2007/7/25.
|
|
- Changed default fortran compiler to g95 when gcc is used. - AKC
|
|
2007/2/17.
|
|
- 'make check-vfd' can now be run from the top level directory. Not all
|
|
tests that 'make check' invokes work with certain Virtual File Drivers,
|
|
so those tests have been skipped. - MAM 2006/7/17
|
|
- Added the variable HDF5TestExpress to control how long tests run.
|
|
Setting it to a value between 0 and 3 controls how thoroughly the
|
|
library is tested, with 0 being an "exhaustive run" and 3 being a
|
|
very quick "smoke test." 1 (a "full run") is the default.
|
|
-JML 2006/6/21
|
|
- If both shared and static libraries are installed, now both will be
|
|
tested during 'make install'. -MAM 2006/06/21
|
|
- Added support to explicity enable stream_vfd or shared libraries
|
|
when using parallel via the '--enable-stream_vfd' and
|
|
'--enable-shared' options, respectively. If not explicity defined,
|
|
These settings default to enabled when parallel is not used,
|
|
and disabled when parallel is used. -MAM 2006/06/17
|
|
- Remove the flexible parallel code and the --enable-fphdf5
|
|
configure option, it was never up to production standards
|
|
anyway. -QAK 2006/4/20
|
|
- Added a macro hdf5_mpi_special_collective_io_works to filter out
|
|
some mpi-io packages that don't support collective IO for no IO
|
|
contributions in some processes. -KY 2006/2/16
|
|
- Added -shlib option to link against installed shared libraries to
|
|
h5c++ and h5fc. -JML 2005/11/1
|
|
- Added --enable-build-all option to configure, which only developers
|
|
should need to use. -JML 2005/10/24
|
|
- Configure uses the 'TR' variable to let the user override the path
|
|
to the 'tr' utility. -JML 2005/10/17
|
|
- Configure can recognize -lmpich as a form of MPI library. -AKC-
|
|
2005/9/28.
|
|
- MD5 checksumming has been added to snapshot releases. Release
|
|
tarballs will be accompanied by .md5 checksum files, which can
|
|
be verified using the md5sum utility. -JML 2005/9/6
|
|
- Some configure flags are incompatible (e.g., the C++ APIs cannot
|
|
be built using the parallel version of HDF5). configure will now
|
|
output errors when some common incompatible features are used
|
|
together. -JML 2005/9/6
|
|
- A new API function, H5Tis_hard(), was added to the library. It
|
|
checks if a conversion function is a compiler (hard) conversion.
|
|
SLU - 2005/9/6
|
|
- t_mpi will run the test_mpio_derived_dtype by default unless it is
|
|
known not working (indicated by macro H5_MPI_COMPLEX_DERIVED_DATATYPE_WORKS
|
|
not defined.) -AKC- 2005/8/23.
|
|
- Test execution has changed in a number of ways:
|
|
When make is invoked in parallel (using -j), sequential tests
|
|
are now executed as parallel make targets. This should make them
|
|
finish more quickly on machines with multiple processors.
|
|
Since test output is garbled when they are executed by parallel make,
|
|
tests now dump their output to foo.log files and foo.logsh files
|
|
(for test scripts). These logs are printed to the screen only
|
|
when a test fails or when all tests in the current directory have
|
|
completed successfully.
|
|
When tests pass, they will create a foo.chkexe file.
|
|
This prevents the test from executing again until the test or
|
|
main library changes.
|
|
All files generated by tests (*.chkexe, *.log, and any *.h5 files
|
|
created) can be removed by invoking 'make check-clean'.
|
|
Sequential and parallel library tests can now be invoked separately.
|
|
'make check-s' will execute only sequential tests, and 'make check-p'
|
|
will execute only parallel tests. 'make check' will still execute
|
|
all tests.
|
|
-JML 2005/08/03
|
|
- On windows, all.zip is deprecated. users should
|
|
read INSTALL_Windows.txt to know the details.
|
|
Reasons to deprecate all.zip:
|
|
1. Avoid confliction for windows programmers
|
|
2. Decrease size of CVS tree by adding all.zip
|
|
3. Avoid using winzip as the intermediate step
|
|
--KY 2005/04/22
|
|
- When HDF5 is created as a shared library, it now uses libtool's
|
|
shared library versioning scheme. -JML 2005/04/18
|
|
- HDF5 now uses automake 1.9.5 to generate Makefiles.in.
|
|
This has a number of effects on users:
|
|
The Fortran compiler should be set using the environment
|
|
variable $FC, not $F9X. F9X still works, but is depreciated.
|
|
The output of make may be different. This should be only a
|
|
cosmetic effect.
|
|
make depened (or make dep) is no longer recognized, since automake
|
|
handles dependency tracking.
|
|
Some new configure options exist. --enable-dependency-tracking
|
|
and --disable-dependency-tracking are used to control automake's
|
|
dependency tracking. Dependencies are on by default *on most
|
|
platforms and compilers*. If --enable-dependency-tracking is
|
|
used, they will be enabled on any platform. However, this can
|
|
slow down builds or even cause build errors in some cases.
|
|
Likewise, --disable-dependency-tracking can speed up builds and
|
|
avoid some build errors.
|
|
Some make targets have alternate names. make check-install and
|
|
make installcheck do the same thing, for instance.
|
|
pmake on IRIX can be invoked from the root directory, but the
|
|
-V flag must be used to invoke it in any subdirectory or it
|
|
will give an error about undefined variables.
|
|
JML 2005/01 - 2005/03
|
|
- Hardware conversion between long double and integers is also added.
|
|
SLU 2005/02/10
|
|
- Started to support software conversion between long double and
|
|
integers. Hardware conversion will come very soon. SLU - 2005/1/6
|
|
- Intel v8.0 compiler would infinite loop when compiling some test
|
|
code with -O3 option. Changed enable-production default compiler
|
|
option to -O2. AKC - 2004/12/06
|
|
- Long double is assumed to be a supported C data type. It is a
|
|
stanadard C89 type. AKC - 2004/10/22
|
|
- The IA64 will use ecc as the C++ compiler by default.
|
|
- Added some initial support for making valgrind/Purify (or similar
|
|
memory checking products) happier by initializing buffers to zero
|
|
and disabling the internal free list code. To take advantage of
|
|
this, use the "--enable-using-memchecker" configure option when
|
|
building the library. QAK - 2004/07/23
|
|
- Fixed the long compile time of H5detect.c when v7.x Intel Compiler
|
|
is used with optimization NOT off. AKC - 2004/05/20
|
|
- Fixed configure setting of C++ for OSF1 platform. AKC - 2004/01/06
|
|
- Prefix default is changed from /usr/local to `pwd`/hdf5.
|
|
AKC - 2003/07/09
|
|
|
|
Library:
|
|
--------
|
|
- Removed size restrictions on attributes, when using the "latest"
|
|
version of the file format. - QAK - 2007/02/21
|
|
- Relaxed restrictions on attribute operations to allow a file ID to
|
|
be used as the "location ID". If a file ID is used, the attribute
|
|
operation will occur on the root group of the file.
|
|
- QAK - 2007/02/09
|
|
- Enabled the CORE driver to read an existing file depending on
|
|
the setting of the backing_store for H5Pset_fapl_core and file
|
|
open flags. - SLU - 2006/11/30
|
|
- Added new H5Gget_info_by_idx() routine to query the information about
|
|
a group according to the order within an index.
|
|
- QAK - 2006/11/27
|
|
- Added new H5Gget_info() routine to query the information about a
|
|
group by name.
|
|
- QAK - 2006/11/27
|
|
- Added new H5Oget_info_by_idx() routine to query the information about
|
|
an object in a group according to the order within an index.
|
|
- QAK - 2006/11/26
|
|
- Added new H5Oget_info() routine to query the information about an
|
|
object in a group by name.
|
|
- QAK - 2006/11/26
|
|
- Added new H5Oopen_by_idx() routine to open an object in a group
|
|
according to the order within an index.
|
|
- QAK - 2006/11/20
|
|
- Added new H5Literate() routine to iterate over links in a group
|
|
according to the order within an index.
|
|
- QAK - 2006/11/20
|
|
- Added new H5Ldelete_by_idx() routine to delete a link according to
|
|
the order within an index.
|
|
- QAK - 2006/11/13
|
|
- Added new H5Lget_val_by_idx() routine to query the value of a soft link
|
|
according to the order within an index.
|
|
- QAK - 2006/11/13
|
|
- Added new H5Lget_name_by_idx() routine to query the name of a link
|
|
according to the order within an index.
|
|
- QAK - 2006/11/12
|
|
- Added new H5Rget_name() routine to determine the name of the object
|
|
that a reference points to, as long as the object is still
|
|
reachable in the group hierarchy.
|
|
- QAK - 2006/11/10
|
|
- Added new H5Lget_info_by_idx() routine to query the link information
|
|
according to the order within an index.
|
|
- QAK - 2006/11/10
|
|
- Added feature to H5Iget_name to allow retrieving the name of any
|
|
object's ID, as long as the object is still reachable in the
|
|
group hierarchy.
|
|
- LA - 2006/11/01
|
|
- Added External and User-defined links.
|
|
External links are links from one HDF5 file to another; they
|
|
require both the name of the file and a path within that file.
|
|
User-defined links allow users to supply callback functions
|
|
for link traversals, allowing links to exhibit essentially
|
|
any behavior.
|
|
External links are a kind of user-defined link, so their default
|
|
behavior can be overridden by the user.
|
|
-JML 2006/8/23
|
|
- Added H5Oopen and H5Oclose for opening objects of unknown type
|
|
(as link callback functions do).
|
|
-JML 2006/8/23
|
|
- Added H5Oopen_by_addr, H5Oincr_refcount, and H5Odecr_refcount for
|
|
opening objects by address. Be very careful with these!
|
|
-JML 2006/8/23
|
|
- Added H5Fget_intent to get the "intent" of a file (whether it
|
|
was opened with read-write access or read-only.
|
|
-JML 2006/8/23
|
|
- Added Link Access Property Lists. They currently contain two
|
|
properties, nlinks (H5Pget/set_nlinks) and elink_prefix
|
|
(H5Pget/set_elink_prefix). nlinks controls how many soft and
|
|
user-defined traversals are allowed before HDF5 assumes it has
|
|
found a cycle (previously this defaulted to 16).
|
|
The elink_prefix is a filesystem path that is prefixed to the
|
|
names of any external link files opened using this LAPL.
|
|
-JML 2006/8/23
|
|
- Add H5L link APIs. Old APIs (H5Glink, H5Gmove, etc.) are still
|
|
supported but deprecated.
|
|
New APIs are:
|
|
H5Llink - create a link to an object given its ID
|
|
H5Lmove - just like H5Gmove2
|
|
H5Lcopy - copy a link without copying the underlying object
|
|
H5Lcreate_hard - like H5Glink2 for hard links
|
|
H5Lcreate_soft - like H5Glink2 for soft links
|
|
H5Ldelete - just like H5Gunlink
|
|
H5Lget_val - just like H5Gget_linkval
|
|
H5Lget_info - gets link-specific info (like H5Gget_objinfo)
|
|
|
|
In addition, H5Gcreate_anon, H5Tcommit_anon, and H5Dcreate_anon
|
|
no longer create links to objects; objects must be manually linked
|
|
using H5Llink or they will be deleted when the ID is closed.
|
|
|
|
Link Creation Property Lists can be used to pass character
|
|
encoding (ASCII or UTF-8) for link names and to set the Intermediate
|
|
Group Creation Flag:
|
|
H5Pset_char_encoding, H5Pget_char_encoding
|
|
H5Pset_copy_object, H5Pget_copy_object
|
|
-JML 2006/7/5
|
|
- Added managements of collective IO supports for chunking storage
|
|
inside parallel HDF5
|
|
1) Implemented One IO with collective mode for all chunks in the
|
|
application by building one MPI derived datatype accross all
|
|
chunks.
|
|
2) Implemented the decision-making support to do collective IO inside
|
|
MPI-IO per chunk.
|
|
3) Added the decision-making support to do one IO accross all chunks
|
|
or to do multiple IOs with each IO per chunk.
|
|
4) Added the support to handle the case some processes won't do any IOs in
|
|
collectively.
|
|
5) Some MPI-IO package(mpich 1.2.6 or lower, e.g.) cannot handle
|
|
collective IO correctly for the case when some processes have no
|
|
contributions to IOs, a special macro is added to change
|
|
collective IO mode to independent IO mode inside HDF5 library.
|
|
|
|
Currently we find that MPICH at Linux and vender MPI-IO package at NCSA
|
|
Altix cannot handle this case.
|
|
|
|
"hdf5_mpi_special_collective_io_works=${hdf5_mpi_special_collective_io_works='no'}"
|
|
has been added at the end of file <ia64-linux-gnui> and
|
|
<linux-gnulibc1>.
|
|
|
|
If MPI-IO packages at your Linux and Altix support this case,
|
|
please comment out the last line and report to us at
|
|
help@hdfgroup.org. We can tune in our configuration to
|
|
support this.
|
|
|
|
KY - 2006/02/16
|
|
- Added character encoding to attribute creation property lists.
|
|
JML - 2006/01/02
|
|
- Added H5Gcopy() routine to copy objects between while keeping
|
|
data in compressed form. QAK - 2005/11/06
|
|
- Added H5Sextent_equal() routine. QAK - 2005/11/06
|
|
- Added HSYS_ERROR which retrieves the system error message and pushes
|
|
it to the error stack. This gives more information of the failed
|
|
system call. AKC - 2005/08/04
|
|
- Added H5F_OBJ_LOCAL flag to H5Fget_obj_count() & H5Fget_obj_ids(), to
|
|
allow querying for objects in file that were opened with a particular
|
|
file ID, instead of all objects opened in file with any file ID.
|
|
QAK - 2005/06/01
|
|
- Added H5T_CSET_UTF8 character set to mark datatypes that use the
|
|
UTF-8 Unicode character encoding. Added tests to ensure that
|
|
library handles UTF-8 object names, attributes, etc. -JL 2005/05/13
|
|
- HDF5 supports collective MPI-IO for irregular selection with HDF5
|
|
dataset. Irregular selection is when users use H5Sselect_hyperslab
|
|
more than once for the same dataset.
|
|
Currently, not all MPI-IO packages support complicated MPI derived
|
|
datatype used in the implementation of irregular
|
|
selection INSIDE HDF5.
|
|
1) DEC 5.x is not supporting complicated derived datatype.
|
|
2) For AIX 5.1,
|
|
if your poe version number is 3.2.0.19 or lower,
|
|
please edit powerpc-ibm-aix5.x under hdf5/config,
|
|
Find the line with
|
|
<< hdf5_mpi_complex_derived_datatype_works>>
|
|
and UNCOMMENT this line before the configure.
|
|
check poe version with the following command:
|
|
lpp -l all | grep ppe.poe
|
|
3) For Linux cluster,
|
|
if mpich version is 1.2.5 or lower, collective irregular selection
|
|
IO is not supported, internally independent IO is used.
|
|
4) For IRIX 6.5,
|
|
if C compiler version is 7.3 or lower, collective irregular selection
|
|
IO is not supported, internally independent IO is used.
|
|
5) For platforms which internally used mpich, if the
|
|
mpich version is 1.2.5 or lower, please find the
|
|
corresponding config file and add
|
|
hdf5_mpi_complex_derived_datatype_works='no' at the
|
|
end of the configuration file. For example, at NCSA
|
|
SGI Altix, the internal mpich library is 1.2.5. So
|
|
hdf5_mpi_complex_derived_datatype_works='no' should be
|
|
added at the end of the config file ia64-linux-gnu.
|
|
KY - 2005/09/12
|
|
We also found not all MPI-IO packages support collective IO with one
|
|
or more processes to have no contributions to IO.
|
|
For mpich version 1.2.6 or lower and all IRIX machine,
|
|
if the library checks that there are no IO contributions for some
|
|
processes, collective IO request is replaced with
|
|
independent inside HDF5.
|
|
KY - 2006/05/04
|
|
|
|
- HDF5 N-bit filter
|
|
HDF5 support N-bit filter from this version,
|
|
The N-Bit filter is used effectively for compressing data of N-Bit
|
|
datatype as well as compound and array datatype with N-Bit fields.
|
|
KY - 2005/04/15
|
|
- HDF5 scaleoffset filter
|
|
HDF5 supports scaleoffset filter for users to do data
|
|
compression through HDF5 library.
|
|
Scale-Offset compression performs a scale and/or offset operation
|
|
on each data value and truncates the resulting value to a minimum
|
|
number of bits and then stores the data.
|
|
Scaleoffset filter supports floating-point and integer datatype.
|
|
Please check the HDF5 reference manual for this.
|
|
KY - 2005/06/06
|
|
- Retired SRB vfd (--with-srb). Functions H5Pset_fapl_srb and
|
|
H5Pget_fapl_srb were removed. EIP - 2005/04/07
|
|
- Retired GASS vfd (--with-gass). Functions H5Pset_fapl_gass and
|
|
H5Pget_fapl_gass are removed too. AKC - 2005/3/3
|
|
- Pablo was removed from the source code EIP - 2005/01/21
|
|
- Modified registration of SZIP to dynamically detect the presence
|
|
or absence of the encoder. Changed configure and Makefiles,
|
|
and tests to dynamically detect encoder. BEM - 2004/11/02
|
|
- Added function H5Pget_data_transform, together with the previously
|
|
added H5Pset_data_transform, to support the data transform
|
|
feature. AKC - 2004/10/26
|
|
- Compound datatype has been enhanced with a new feature of size
|
|
adjustment. The size can be increased and decreased(without
|
|
cutting the last member) as long as it doesn't go down to zero.
|
|
No API change is involved. SLU - 2004/10/1
|
|
- Put back 6 old error API functions to be backward compatible with
|
|
version 1.6. They are H5Epush, H5Eprint, H5Ewalk, H5Eclear,
|
|
H5Eset_auto, H5Eget_auto. Their new equivalent functions are
|
|
called H5Epush_stack, H5Eprint_stack, H5Ewalk_stack,
|
|
H5Eclear_stack, H5Eset_auto_stack, H5Eget_auto_stack. SLU -
|
|
2004/9/2
|
|
- 4 new API functions, H5Tencode, H5Tdecode, H5Sencode, H5Sdecode were
|
|
added to the library. Given object ID, these functions encode and
|
|
decode HDF5 objects(data type and space) information into and from
|
|
binary buffer. SLU - 2004/07/21
|
|
- Modified the way how HDF5 calculates 'pixels_per_scanline' parameter for
|
|
SZIP compression. Now there is no restriction on the size and shape of the
|
|
chunk except that the total number of elements in the chunk cannot be
|
|
bigger than 'pixels_per_block' parameter provided by the user.
|
|
EIP - 2004/07/21
|
|
- Added support for SZIP without encoder. Added H5Zget_filter_info
|
|
and changed H5Pget_filter and H5Pget_filter_by_id to support this
|
|
change. JL/NF - 2004/06/30
|
|
- SZIP always uses K13 compression. This flag no longer needs to
|
|
be set when calling H5Pset_szip. If the flag for CHIP
|
|
compression is set, it will be ignored (since the two are mutually
|
|
exclusive). JL/NF - 2004/6/30
|
|
- A new API function H5Fget_name was added. It returns the name
|
|
of the file by object(file, group, data set, named data type,
|
|
attribute) ID. SLU - 2004/06/29
|
|
- Added support for user defined identifier types. NF/JL - 2004/06/29
|
|
- A new API function H5Fget_filesize was added. It returns the
|
|
actual file size of the opened file. SLU - 2004/06/24
|
|
- New Feature of Data transformation is added. AKC - 2004/05/03.
|
|
- New exception handler for datatype conversion is put in to
|
|
replace the old overflow callback function. This exception
|
|
handler is set through H5Pset_type_conv_cb function.
|
|
SLU - 2004/4/27
|
|
- Added option that if $HDF5_DISABLE_VERSION_CHECK is set to 2,
|
|
will suppress all library version mismatch warning messages.
|
|
AKC - 2004/4/14
|
|
- A new type of dataspace, null dataspace(dataspace without any
|
|
element) was added. SLU - 2004/3/24
|
|
- Data type conversion(software) from integer to float was added.
|
|
SLU - 2004/3/13
|
|
- Data type conversion(software) from float to integer was added.
|
|
Conversion from integer to float will be added later.
|
|
SLU -2004/2/4
|
|
- Added new H5Premove_filter routine to remove I/O pipeline filters
|
|
from dataset creation property lists. PVN - 2004/01/26
|
|
- Added new 'compare' callback parameter to H5Pregister & H5Pinsert
|
|
routines. QAK - 2004/01/07
|
|
- Data type conversion(hardware) between integers and floats was added.
|
|
SLU 2003/11/21
|
|
- New function H5Iget_file_id() was added. It returns file ID given
|
|
an object(dataset, group, or attribute) ID. SLU 2003/10/29
|
|
- Added new fields to the H5G_stat_t for more information about an
|
|
object's object header. QAK 2003/10/06
|
|
- Added new H5Fget_freespace() routine to query the free space in a
|
|
given file. QAK 2003/10/06
|
|
- Added backward compatability with v1.6 for new Error API. SLU -
|
|
2003/09/24
|
|
- Changed 'objno' field in H5G_stat_t structure from 'unsigned long[2]'
|
|
to 'haddr_t'. QAK - 2003/08/08
|
|
- Changed 'fileno' field in H5G_stat_t structure from 'unsigned long[2]'
|
|
to 'unsigned long'. QAK - 2003/08/08
|
|
- Changed 'hobj_ref_t' type from structure with array field to 'haddr_t'.
|
|
QAK - 2003/08/08
|
|
- Object references (hobj_ref_t) can now be compared with the 'objno'
|
|
field in the H5G_stat_t struct for testing if two objects are the
|
|
same within a file. QAK - 2003/08/08
|
|
- Switched over to new error API. SLU - 2003/07/25
|
|
|
|
Parallel Library:
|
|
-----------------
|
|
- Added mpich2 as a testing "platform" informally. AKC - 2005/9/28.
|
|
- A dataset created in serial mode with H5D_ALLOC_TIME_INCR allocation
|
|
setting was not extendible, either explicitly by H5Dextend or
|
|
implicitly by writing to unallocated chunks. Library now allocates
|
|
more space when needed or directed if the file is opened by parallel
|
|
mode, independent of what the dataset allocation mode is.
|
|
CC/AKC - 2005/08/29.
|
|
- Allow compressed, chunked datasets to be read in parallel.
|
|
QAK - 2004/10/04
|
|
- Add options of using atomicity and file-sync to test_mpio_1wMr.
|
|
AKC - 2003/11/13
|
|
- Added parallel test, test_mpio_1wMr, which tests if the
|
|
underlaying parallel I/O system is conforming to the POSIX
|
|
write/read requirement. AKC - 2003/11/12
|
|
|
|
Fortran Library:
|
|
----------------
|
|
- added support for shared Fortran libraries. -JML 2005/09/20
|
|
- added missing h5tget_member_class_f function
|
|
EIP 2005/04/06
|
|
- added new functions h5fget_name_f and h5fget_filesize_f
|
|
EIP 2004/07/08
|
|
- h5dwrite/read_f and h5awrite/read_f functions only accept dims parameter
|
|
of the type INTEGER(HSIZE_T).
|
|
- added support for native integers of 8 bytes (i.e. when special
|
|
compiler flag is specified to set native fortran integers to 8 bytes,
|
|
for example, -i8 flag for PGI and Absoft Fortran compilers,
|
|
-qintsize=8 flag for IBM xlf compiler).
|
|
EIP 2005/06/20
|
|
- added support for "big" REAL and DOUBLE PRECISION types
|
|
(usually the size is specified by compilers flags like
|
|
-r8, -r16, etc.)
|
|
Known problem: multi file test fails when REAL is 16 bytes.
|
|
EIP 2005/09/8
|
|
|
|
C++ Library:
|
|
----------------
|
|
- added support for shared C++ libraries. -JML 2005/09/20
|
|
- Added missing member functions
|
|
H5::CompType::getMemberArrayType
|
|
H5::CompType::getMemberVarLenType
|
|
H5::AbstractDs::getArrayType
|
|
H5::AbstractDs::getVarLenType
|
|
H5::CommonFG::openArrayType
|
|
H5::CommonFG::openVarLenType
|
|
H5::PropList::copyProp -- this will replace the current
|
|
H5::PropList::copyProp in later releases due
|
|
to incorrect prototype.
|
|
H5::IdComponent::getHDFObjType
|
|
BMR - 2005/08/08
|
|
|
|
|
|
Tools:
|
|
------
|
|
- h5repack and h5diff changed command line parameter syntax to be
|
|
similar to h5dump, adding also long switch names. PVN - 2008/1/16
|
|
- h5repack now supports adding multiple filters to all objects.
|
|
PVN - 2008/1/16
|
|
- h5dump lists groups and attributes in requested orders (by name and
|
|
creation order, both ascending and descending). PVN - 2007/10/5
|
|
- h5import imports string (text) data. PVN - 2007/10/5
|
|
- h52gif and gif2h5: Both these tools were revised to include the High
|
|
Level Image API support, and tests were added to /hl/tools/gif2h5.
|
|
PVN - 2007/04/13
|
|
- h5dump: added support for double long type H5T_NATIVE_LDOUBLE. PVN
|
|
2007/03/13
|
|
- h5dump: added support for binary output, see usage. PVN 2007/03/13
|
|
- h5repack: added support for the new nbit and scaleoffset filters.
|
|
PVN - 2007/05/07
|
|
- h5repack: now uses the API function H5Ocopy (of the tool h5copy) to
|
|
recreate objects if there is not a user input for changes. PVN -
|
|
2007/05/07
|
|
- h5repack: added support for reading and repacking by hyperslabs for
|
|
large files. PVN - 2007/03/01
|
|
- h5repack: a new option allows the copy using the file type (default)
|
|
instead of the previous conversion to native type. PVN - 2007/03/01
|
|
- h5repack: output the percentage of compression used. PVN - 2007/03/01
|
|
- h5diff: added support for -p option for unsigned long_long data. PVN
|
|
- 2007/02/26
|
|
- h5diff: added support for comparing dataset regions. PVN - 2007/02/20
|
|
- h5diff: added support for reading and comparing by hyperslabs for large files.
|
|
PVN - 2007/02/20
|
|
- h5diff: printing of dataset dimensions along with dataset name. PVN -2007/02/19
|
|
- h5dump now uses the new API function H5Rget_name to display the name
|
|
of the dataset referenced instead of its ID. PVN - 2007/02/19
|
|
- Added new tool, h5mkgrp. QAK - 2007/02/14
|
|
- Added new tool, h5copy. PVN - 2006/7/15
|
|
- Removed obsolete pdb2hdf5 tool from tools/misc -JML 2005/10/24
|
|
- Added build_h5perf_alone.sh that builds h5perf by standalone mode.
|
|
AKC - 2005/09/18.
|
|
- Sped up h5dump on files with large numbers of objects.
|
|
QAK - 2005/08/25
|
|
- Added a standalone mode for building h5perf. AKC - 2005/08/12
|
|
- new tool, h5jam. See reference manual. 2004/10/08
|
|
- h5repack.sh did not report errors encountered during tests. It does
|
|
now. AKC - 2004/04/02
|
|
- Added the MPI-I/O and MPI-POSIX drivers to the list of VFL drivers
|
|
available for h5dump and h5ls. RPM & QAK - 2004/02/01
|
|
- Added option --vfd= to h5ls to allow a VFL driver to be selected
|
|
by a user. RPM & QAK - 2004/02/01
|
|
- Added option -showconfig to compiler tools (h5cc,h5fc,h5c++).
|
|
AKC - 2004/01/08
|
|
- Install the "h5cc" and "h5fc" tools as "h5pcc" and "h5pfc"
|
|
respectively if library is built in parallel mode.
|
|
WCW - 2003/11/04
|
|
- Added metadata benchmark (perform/perf_meta). SLU - 2003/10/03
|
|
- Changed output of "OID"s from h5dump from "<number>-<number>" to
|
|
"<number". This affects both the "regular" and XML output.
|
|
QAK - 2003/08/08
|
|
- Changed output of file IDs and "OID"s from h5ls from
|
|
"<number>:<number>:<number>:<number>" to "<number>:<number>"
|
|
QAK - 2003/08/08
|
|
|
|
High-Level APIs:
|
|
------
|
|
- Fortran interfaces for the Image, Table and Lite APIs. PVN - 2007/5/1
|
|
- New HDF5 Dimension Scale API (H5DS) allows dimension scales to be
|
|
created in an HDF5 file and associated with specific datasets. PVN - 2007/5/1
|
|
- There are two new functions in the Lite library, H5LTtext_to_dtype
|
|
and H5LTdtype_to_text. H5LTtext_to_dtype creates a HDF5 data type
|
|
given a text description; H5LTdtype_to_text converts a data type
|
|
to text description. Only DDL definition is supported as text
|
|
desciption now. SLU - 2006/05/17
|
|
- Added Packet Table API for creating tables with less overhead than
|
|
H5TB API. Added C++ wrapper for Packet Tables. See documentation.
|
|
JML - 2004/03/28
|
|
|
|
Documentation
|
|
-------------
|
|
- The documentation for this release is largely complete, but
|
|
trails the source code. A few of the newer functions are
|
|
not yet documented. FMB - 2007/04/18
|
|
- The user documents for this release can be accessed directly at
|
|
this location:
|
|
http://www.hdfgroup.uiuc.edu/HDF5/doc_1.8pre/doc/
|
|
The most recent document versions (updated daily) in the
|
|
1.8 development branch can be accessed at this location:
|
|
http://www.hdfgroup.uiuc.edu/HDF5/doc_dev_snapshot/H5_dev/
|
|
FMB - 2007/04/18
|
|
|
|
|
|
Support for new platforms, languages and compilers.
|
|
=======================================
|
|
- Added support for Free-BSD on amd64 with GNU C and Fortran compilers
|
|
4.2.1
|
|
EIP - 2007/06/25
|
|
- Added support for sequential and parallel libraries for Intel 64 Linux
|
|
cluster (abe.ncsa.uiuc.edu). Among three MPICH packages available on
|
|
this machine, only Open MPI works. The VMI has seg fault in hyperslab.c
|
|
and bittests.c tests. The MVAPICH2 complained about mpd not running
|
|
the parallel test. (see Known Problems section for more info)
|
|
EIP - 2007/06/25
|
|
- Added support for HPUX11.23 for both 32 and 64-bit; HDF5 C++
|
|
- Added support for 64-bit Windows with Visual Studio .NET and 2005.
|
|
SJW - 2007/06/25
|
|
- Added suport for HPUX11.23 for both 32 and 64-bit; HDF5 C++
|
|
shared library is not supported with +DD64 flag.
|
|
EIP - 2006/06/22
|
|
- Added support for VAX floating numbers for Alpha Open VMS 7.3.2
|
|
EIP - 2006/05/05
|
|
- Fixed broken make.com files in tools directories
|
|
EIP - 2006/05/05
|
|
- Added support for Alpha Open VMS 7.3.2 EIP - 2006/04/15
|
|
- Added support for Cray X1. JML - 2005/10/03
|
|
- PGI Fortran compiler is supported on Linux64 systems (x86_64)
|
|
EIP - 2004/08/19
|
|
- Absoft compiler f95 v9.0 supported on Linux 2.4
|
|
EIP - 2004/07/29
|
|
- HDF5 Fortran APIs are supported on Mac OSX with IBM XL Fortran
|
|
compiler version 8.1. This is a default compiler.
|
|
- HDF5 Fortran APIs are supported on MAC OSX with Absoft F95 compiler
|
|
version 8.2; set F9X environment varibale to f95, for example
|
|
setenv F9X f95
|
|
Use --disable-shared --enable-static configure flags when Absoft
|
|
compiler is used.
|
|
EIP - 2004/07/27
|
|
- HDF5 Fortran APIs are supported on MAC OSX with IBM XL Fortran
|
|
Compiler version 8.1 Use "--disable-shared --enable-static"
|
|
configure flags along with the "--enable-fortran" flag to build
|
|
Fortran library. EIP - 2004/01/07
|
|
|
|
Bug Fixes since HDF5-1.6.0 release
|
|
==================================
|
|
|
|
Library
|
|
-------
|
|
- Changed library's behavior for reading files that might have
|
|
corrupted object header information from a previous (buggy)
|
|
version of the library. By default, the library now rebuilds the
|
|
correct object header information instead of issuing an error.
|
|
Previous "strict" file format interpretation can be enabled with
|
|
the "--enable-strict-format-checks" configure option.
|
|
QAK - 2008/01/13
|
|
- Fixed several bugs with writing fill values for datasets that have
|
|
a variable-length datatype or component datatype. QAK - 2007/06/19
|
|
- STDIO driver didn't support files bigger than 2GB because the OFFSET
|
|
parameter of fseek is of type LONG INT, not big enough for big files.
|
|
Use fseeko instead for big files if it's available on the system.
|
|
SLU - 2007/4/5
|
|
- Fixed a bug in H5Sselect_valid() that caused an incorrect value to
|
|
be returned (0) instead of FAIL on error conditions such as the
|
|
selection or extent not being defined. CMC - 2007/01/17
|
|
- Fixed the MULTI driver problem (Bug #731) that corruptted the data.
|
|
SLU - 2007/1/12
|
|
- Fixed file corruption bug which could write an incorrect number of
|
|
messages to an object's header under certain circumstances.
|
|
Generally, the sequence of actions to generate this bug looks
|
|
like this:
|
|
- Create an object
|
|
- Close the file
|
|
- Re-open the file
|
|
- Add 2 (or more) attributes to the object
|
|
- Close the file
|
|
- Re-open the file
|
|
- Delete one of the attributes on the object
|
|
- Add a smaller attribute to the object
|
|
- Delete the smaller atttribute on the object
|
|
- Add a larger attribute on the object
|
|
|
|
After this, the number of header messages stored for the object
|
|
will be off by one. Other sequences of modifying attributes on an
|
|
object could also trigger this bug. If you are opening an
|
|
object and the bottom few messages of the HDF5 error stack
|
|
resembles this, the object has been affected by this bug:
|
|
|
|
#007: ../../hdf5_v1.6/src/H5C.c line 3887 in H5C_load_entry(): unable to load entry
|
|
major(08): Meta data cache layer
|
|
minor(40): Unable to load metadata into cache
|
|
#008: ../../hdf5_v1.6/src/H5Ocache.c line 332 in H5O_load(): corrupt object header - too few messages
|
|
major(12): Object header layer
|
|
minor(40): Unable to load metadata into cache
|
|
|
|
Specifically, "corrupt object header" is the best string to search
|
|
for in the HDF5 error stack output.
|
|
|
|
If your files have been affected by this bug, or you are concerned
|
|
that your files might have been, please contact the HDF Helpdesk
|
|
at help@hdfgroup.org for a tool to detect and repair files
|
|
affected by this problem. QAK - 2006/6/16
|
|
- Fixed various problems with retrieving names of objects, especially
|
|
with mounted files. QAK - 2005/12/25
|
|
- Fixed core dump when closing root groups opened through two different
|
|
file handles that operate on the same actual file. QAK - 2005/10/02
|
|
- Corrected errors when performing various operations on a group opened
|
|
by dereferencing an object reference. QAK - 2005/07/30
|
|
- Fixed a bug with named datatypes where a copy of a named datatype
|
|
used to create a dataset would accidentally use the original
|
|
named datatype for the dataset's datatype. QAK - 2005/07/23
|
|
- Made H5Fget_name() be consistent and always return name of actual
|
|
file the ID is in. (Instead of the name of the top file in a
|
|
file mounting hierarchy). QAK - 2005/07/19
|
|
- Reworked internal file mounting semantics to hopefully eliminate
|
|
mounting problems. We now require that files that are mounting
|
|
together all have the same "file close degree". QAK - 2005/07/19
|
|
- More bug fixes on holding open files that are mounted and have
|
|
IDs open. QAK - 2005/07/14
|
|
- Don't unmount child files until the parent file actually closes.
|
|
(Previously, if an object is holding open a file, the child files
|
|
would get unmounted too early). QAK - 2005/07/05
|
|
- Fixed bug where unmounted files could cause the library to go into
|
|
an infinite loop when shutting down. QAK - 2005/06/30
|
|
- The library didn't save the information of family driver in file.
|
|
The original file member size was lost after file was closed (see
|
|
bug #213). This has been fixed by saving driver name and member
|
|
file size in the superblock. SLU - 2005/6/24
|
|
- Fixed bug with hyperslab selections that use selection offsets and
|
|
operate on chunked datasets going into infinite loop or dumping
|
|
core. QAK - 2005/06/17
|
|
- Corrected memory leak and possible corruption when opening a group.
|
|
QAK - 2005/06/17
|
|
- Added check for opaque datatype tags being too long (check against
|
|
H5T_OPAQUE_TAG_MAX, currently set to 256). QAK - 2005/06/14
|
|
- Fixed various errors in maintaining names for open objects in the
|
|
face of unusual mount & unmount operations. QAK - 2005/06/08
|
|
- "SEMI" and "STRONG" file close degree settings now apply only to the
|
|
particular file ID being closed, instead of operating on all open
|
|
file IDs for a given file. QAK - 2005/06/01
|
|
- For family driver, the library didn't save member size in file.
|
|
When file is reopened, the size of 1st member file determine the
|
|
member size. Now member size is saved in file and is used to
|
|
define member file size. Wrong file access property of member size
|
|
will result in a failure. Using any other driver except family
|
|
will cause library to return error. So is multi driver. SLU -
|
|
2005/05/24
|
|
- Fixed error in opening object in group that was opened in mounted
|
|
file which has been unmounted. QAK - 2005/03/17
|
|
- Fixed a racing condition in MPIPOSIX virtual file drive close
|
|
function. Now all processes must completed the close before any
|
|
of them is returned. This prevents some "faster" processes start
|
|
accessing the file for another purpose (e.g., open with truncate)
|
|
while other "slower" processes have not closed the same file with
|
|
the previous purpose. AKC - 2005/03/01
|
|
- H5Tget_member_value calls for enum datatype didn't return correct
|
|
value if H5Tenum_valueof was called first. It's fixed. SLU -
|
|
2005/02/08
|
|
- For variable-length string, H5Tget_class returned H5T_STRING as its
|
|
class. But H5Tdetect_class and H5Tget_member_class considered it
|
|
as H5T_VLEN. This is fixed to let all these 3 functions treat it
|
|
as H5T_STRING. SLU - 2005/02/08
|
|
- The byte order of 1-byte integer types was fixed as little endian
|
|
even on a big-endian machine. This has been corrected. SLU -
|
|
2005/02/07
|
|
- Fix segmentation fault when calling H5Fflush with an attribute that
|
|
hasn't had a value written to it open. QAK - 2004/10/18
|
|
- Back up supporting bitfield and time types in H5Tget_native_type.
|
|
Leave it to future support. The function simply returns error
|
|
message of "not support" for bitfield and time types.
|
|
SLU - 2004/10/5
|
|
- Fixed address check in Core VFL driver to avoid spurious address/size
|
|
overflows for odd valued addresses and/or sizes. QAK - 2004/09/27
|
|
- Fixed parallel bug in which some processes attempted collective
|
|
I/O while others did independent I/O. Bug appeared when some
|
|
processes used point selections, and others didn't. JRM - 2004/9/15
|
|
- Corrected error where dataset region references were written in an
|
|
incorrect way on Cray machines. PVN & QAK - 2004/09/13
|
|
- The H5Tget_native_type now determines the native type for integers
|
|
based on the precision. This is to avoid cases of wrongly converting
|
|
an int to a short in machines that have a short of 8 bytes but with
|
|
32bit precision (e.g Cray SV1). PVN - 2004/09/07
|
|
- Changed H5Dread() to not overwrite data in an application's buffer
|
|
with garbage when accessing a chunked dataset with an undefined
|
|
fill value and an unwritten chunk is uncountered. QAK - 2004/08/25
|
|
- Fixed error which could cause a core dump when a type conversion
|
|
routine was registered after a compound datatype had been
|
|
converted and then an equivalment compound datatype was converted
|
|
again. QAK - 2004/08/07
|
|
- Fixed memory overwrite when encoding "multi" file driver information
|
|
for file's superblock. QAK - 2004/08/05
|
|
- Fixed obscure bug where a filter which failed during chunk allocation
|
|
could allow library to write uncompressed data to disk but think
|
|
the data was compressed. QAK - 2004/07/29
|
|
- Fixed bug where I/O to an extendible chunked dataset with zero-sized
|
|
dimensions would cause library to fail an assertion.
|
|
QAK - 2004/07/27
|
|
- Fixed bug where chunked datasets which have filters defined,
|
|
allocation time set to "late" and whose chunks don't align with
|
|
the dataspace bounds could have incorrect data stored when
|
|
overwriting the entire dataset on the first write. QAK - 2004/07/27
|
|
- Added check to ensure that dataspaces have extents set. JML-2004/07/26
|
|
- Fixed bug on some Solaris systems where HDF5 would try to use
|
|
gettimeofday() when that function didn't work properly.
|
|
JML - 2004/07/23
|
|
- Fixed bug in H5Sset_extent_simple where setting maximum size to
|
|
non-zero, then to zero would cause an error. JML - 2004/07/20
|
|
- Allow NULL pointer for buffer parameter to H5Dread & H5Dwrite
|
|
when not writing data ("none" selection or hyperslab or point
|
|
selection with no elements defined). QAK - 2004/07/20
|
|
- Calling H5Gcreate() on "/" or "." throws an error instead of
|
|
failing quietly. JML - 2004/07/19
|
|
- Fixed bug where setting file address size to be very small could
|
|
trigger an assert if the file grew to more than 64 KB. Now throws
|
|
an error and data can be recovered. JL/NF - 2004/07/14
|
|
- Fixed bug where "resurrecting" a dataset was failing.
|
|
QAK - 2004/07/14
|
|
- Fixed bug where incorrect data could be read from a chunked dataset
|
|
after it was extended. QAK - 2004/07/12
|
|
- Fixed failure to read data back from file of compound type with
|
|
variable-length string as field. SLU - 2004/06/10
|
|
- Fixed potential file corruption bug when a block of metadata could
|
|
overlap the end of the internal metadata accumulator buffer and
|
|
the buffer would be extended correctly, but would incorrectly
|
|
change it's starting address. QAK - 2004/06/09
|
|
- Opaque datatype with no tag failed for some operations. Fixed.
|
|
SLU - 2004/6/3
|
|
- Fixed potential file corruption bug where dimensions that were
|
|
too large (a value greater than could be represented in 32-bits)
|
|
could cause the incorrect amount of space to be allocated in a
|
|
file for the raw data for the dataset. QAK - 2004/06/01
|
|
- Fixed dtypes "sw long double -> double" failure in QSC class
|
|
machines. AKC - 2004/4/16
|
|
- Fixed problem with fletcher32 filter when converting data of different
|
|
endianess. PVN - 2004/03/10
|
|
- Fixed problem with H5Tget_native_type() not handling opaque fields
|
|
correctly. QAK - 2004/01/31
|
|
- Fixed several errors in B-tree deletion code which could cause a
|
|
B-tree (used with groups and chunked datasets) to become corrupt
|
|
with the right sequence of deleted objects. QAK - 2004/01/19
|
|
- Fixed small internal memory leaks of fill-value information.
|
|
QAK - 2004/01/13
|
|
- Fixed bug that caused variable-length datatypes (strings or sequences)
|
|
used for datasets in files with objects that were unlinked to
|
|
fail to be read/written to a file. QAK - 2004/01/13
|
|
- Detect situation where szip 'pixels per block' is larger than the
|
|
fastest changing dimension of a dataset's chunk size and disallow
|
|
this (due to limits in szip library). QAK - 2003/12/31
|
|
- Fixed bug with flattened hyperslab selections that would generate
|
|
incorrect hyperslab information with certain high-dimensionality
|
|
combinations of start/stride/count/block information.
|
|
QAK - 2003/12/31
|
|
- Fixed bug with variable-length datatypes used in compound datatypes.
|
|
SLU - 2003/12/29
|
|
- Fixed bug in parallel I/O routines that would cause reads from
|
|
"short datasets" (datasets which were only partially written out)
|
|
to return invalid data. QAK & AKC - 2003/12/19
|
|
- Fixed bug where scalar dataspaces for attributes were reporting as
|
|
simple dataspaces. QAK - 2003/12/13
|
|
- Fixed problem with selection offsets of hyperslab selections in
|
|
chunked datasets causing the library to go into an infinite loop.
|
|
QAK - 2003/12/13
|
|
- Fixed H5Giterate to avoid re-using index parameter after iteration
|
|
callback has been called (allows iteration callback to modify the
|
|
index parameter itself). QAK - 2003/12/06
|
|
- Fixed various floating-point conversion problems, including a
|
|
change which could corrupt data when converting from double->float.
|
|
QAK - 2003/11/24
|
|
- Changed "single process" metadata writing in library to collective
|
|
I/O by all processes, in order to guarantee correct data being
|
|
written with MPI-I/O. QAK - 2003/11/20
|
|
- Fixed problems with fill values and variable-length types and also
|
|
I/O on VL values that were set to NULL. QAK - 2003/11/08
|
|
- Fixed problems with MPI datatypes that caused ASCI Q machine to
|
|
hang. QAK - 2003/10/28
|
|
- Removed HDF5_MPI_PREFER_DERIVED_TYPES environment variable support,
|
|
since it had no benefit. QAK - 2003/10/28
|
|
- Single hyperslab selections (which were set with only one call to
|
|
H5Sselect_hyperslab) that had dimensions that could be "flattened"
|
|
but were interspersed with dimensions that could not be flattened
|
|
were not correctly handled, causing core dumps. QAK - 2003/10/25
|
|
- Fixed incorrect datatype of the third parameter to the Fortran90
|
|
h5pset(get)_cache_f subroutine (INTEGER to INTEGER(SIZE_T))
|
|
EIP - 2003/10/13
|
|
- Fixed problems with accessing variable-length data datatypes on
|
|
Crays. QAK - 2003/10/10
|
|
- Fixed potential file corruption bug when too many object header
|
|
messages (probably attributes, from a user perspective) were
|
|
inserted into an object header and certain other conditions were
|
|
met. QAK - 2003/10/08
|
|
- Changed implementation of internal ID searching algorithm to avoid
|
|
O(n) behavior for many common cases. QAK - 2003/10/06
|
|
- Allow partial parallel writing to compact datasets. QAK - 2003/10/06
|
|
- Correctly create reference to shared datatype in attribute, instead
|
|
of making a copy of the shared datatype in the attribute.
|
|
QAK - 2003/10/01
|
|
- Revert changes which caused files >2GB to fail when created with
|
|
MPI-I/O file driver on certain platforms. QAK - 2003/09/16
|
|
- Allow compound datatypes to grow in size. SLU - 2003/09/10
|
|
- Detect if a type is already packed before attempting to pack it
|
|
again or check if it is locked. SLU - 2003/09/10
|
|
- Corrected bug when opening a file twice with read-only permission
|
|
for one open and then closing the read-only access file ID would
|
|
generate an error. QAK - 2003/09/10
|
|
- Corrected bug in repeated calls to H5Pget_access_plist() which would
|
|
incorrectly manage reference counts of internal information and
|
|
eventually blow up. QAK - 2003/09/02
|
|
- Return rank of the array datatype on successful call to
|
|
H5Tget_array_dims(). QAK - 2003/08/30
|
|
- Corrected bug in H5Tdetect_class which was not correctly detecting
|
|
datatype classes of fields in nested compound datatypes in some
|
|
circumstances. QAK - 2003/08/30
|
|
- Corrected bug in sieve buffer code which could cause loss of data
|
|
when a small dataset was created and deleted in quick succession.
|
|
QAK - 2003/08/27
|
|
- Corrected bug in H5Gget_objname_by_idx which was not allowing NULL
|
|
for the name when just querying for the object name's length.
|
|
QAK - 2003/08/25
|
|
- Corrected bug in variable-length string handling which could
|
|
generate a core dump on writing variable-length strings as part
|
|
of a compound datatype on certain architectures. QAK - 2003/08/25
|
|
- Corrected bug in H5Tget_native_type which would incorrectly compute
|
|
the size of certain compound datatypes and also incorrectly
|
|
compute the offset of the last field for those compound datatypes.
|
|
QAK - 2003/08/25
|
|
- Corrected bug in H5Tget_native_type which would drop string datatype
|
|
metadata (padding, etc.) QAK - 2003/08/25
|
|
- Corrected bugs in H5Gget_num_objs, H5Gget_objname_by_idx and
|
|
H5Gget_objtype_by_idx to allow them to accept location IDs, not just
|
|
group IDs. QAK - 2003/08/21
|
|
- Corrected bug when using scalar dataspace for memory selection and
|
|
operating on chunked dataset. QAK - 2003/08/18
|
|
- Corrected bugs with multiple '/' characters in names for H5Glink
|
|
and H5Gunlink. QAK - 2003/08/16
|
|
- Corrected bug with user blocks that didn't allow a user block to
|
|
be inserted in front of a file after the file was created.
|
|
QAK - 2003/08/13
|
|
- Corrected errors with using point selections to access data in
|
|
chunked datasets. QAK - 2003/07/23
|
|
- Corrected error with variable-length datatypes and chunked datasets
|
|
caused H5Dwrite to fail sometimes. QAK - 2003/07/19
|
|
- Modified library and file format to support storing indexed storage
|
|
(chunked dataset) B-tree's with non-default internal 'K' values.
|
|
QAK - 2003/07/15
|
|
- Returned H5T_BKG_TEMP support to library after it was accidentally
|
|
removed. QAK - 2003/07/14
|
|
|
|
Configuration
|
|
-------------
|
|
- Configure can now use any tr command. No more need for
|
|
defining variable TR nor is it supported. -AKC 2006/05/19
|
|
- Parallel I/O with the MPI-I/O driver will no longer work if the
|
|
filesystem is not POSIX compliant. The "HDF5_MPI_1_METAWRITE"
|
|
environment variable has been removed. QAK - 2004/01/30
|
|
- Fixed the error that cause "make install" to fail because of the
|
|
macro definition syntax of "prefix?=..." AKC - 2003/07/22
|
|
|
|
Performance
|
|
-------------
|
|
- Optimized I/O for enumerated datatypes that are a superset of source
|
|
enumerated datatype. QAK - 2005/03/19
|
|
- More optimizations to inner loops of datatype conversions for
|
|
integers and floats which give a 10-50% speedup. QAK - 2003/11/07
|
|
- Hoisted invariant 'if/else's out of inner datatype conversion loop for
|
|
integer and floating-point values, giving about a 20% speedup.
|
|
QAK - 2003/10/20
|
|
|
|
Tools
|
|
-----
|
|
- Fixed h5dump regarding the display of blocks in hyperslab
|
|
selections. PVN 2008/01/16
|
|
- Fixed h5diff regarding the display of NaN (Not a Number)
|
|
values. PVN 2008/01/16
|
|
- Fixed h5dump regarding the parsing of binary output parameters.
|
|
PVN 2008/01/16
|
|
- Fixed memory problems in h52gif and gif2h5. PVN 2008/01/16
|
|
- Fixed h5repack dealing with NULL references. PVN 2008/01/16
|
|
- Fixed h5dump & h5ls to display attributes in "name" order, rather
|
|
than the order they are encountered in the object header.
|
|
QAK - 2007/10/04
|
|
- Fixed h5dump regarding the display of named datatypes
|
|
attributes. PVN 2007/03/13
|
|
- Fixed h5dump regarding the display of group comments. PVN
|
|
2007/03/13
|
|
- Fixed h5dump regarding the display of hardlinks pointing
|
|
to the root group. PVN 2007/03/13
|
|
- Fixed h5diff percentage option -p. PVN 2007/03/05
|
|
- Fixed h5dump that caused array indices greater than 2 ^32-1
|
|
not to be printed correctly - PVN 2007/2/19
|
|
- Fixed h5dump to print attributes data in ASCII if -r option is used.
|
|
AKC - 2004/11/18
|
|
- Fixed space utilization reported in h5ls to correct error in formula
|
|
used. QAK - 2004/10/22
|
|
- Fixed h5redeploy which sometimes complain too many argument for the
|
|
test command. (The complain did not hinder the h5redploy to
|
|
proceed correctly.) AKC - 2003/11/03
|
|
- Fixed a segmentation fault of h5diff when percentage option is used.
|
|
AKC - 2003/08/27
|
|
- Switched away from tools using internal "fixtype" function(s) to use
|
|
H5Tget_native_type() internally. QAK - 2003/08/25
|
|
|
|
|
|
Documentation
|
|
-------------
|
|
|
|
|
|
F90 APIs
|
|
--------
|
|
- h5pget_driver_f was returning information that could not be
|
|
interpreted by fortran application program; fixed. EIP - 2005/04/10
|
|
|
|
|
|
Platforms Tested
|
|
================
|
|
Platforms marked with * were not tested for hdf5-1.8.0-rc* release
|
|
(This information is somewhat out of date and may be inaccurate. It will be
|
|
updated for a later release)
|
|
|
|
* AIX 5.2 (32/64 bit) xlc 8.0.0.11
|
|
xlC 8.0
|
|
xlf 10.01.0000.0
|
|
mpcc_r 6.0.0.8
|
|
mpxlf_r 8.1.1.7
|
|
* AIX 5.3 (32/64 bit) xlc 7.0.0.8
|
|
xlC 7.0.0.8
|
|
xlf 09.01.0000.0007
|
|
* Cray X1 water 3.0.35 Cray Standard C Version 5.4.0.7.4
|
|
Cray Fortran 5.4.0.7.3
|
|
Cray C++ 5.4.0.7.4
|
|
FreeBSD 6.2-STABLE i386 gcc 3.4.6 [FreeBSD] 20060305
|
|
(duty) g++ 3.4.6 [FreeBSD] 20060305
|
|
gcc 4.2.1 20080123
|
|
g++ 4.2.1 20080123
|
|
gfortran 4.2.1 20070620
|
|
FreeBSD 6.2-STABLE amd64 gcc 3.4.6 [FreeBSD] 20060305
|
|
(liberty) g++ 3.4.6 [FreeBSD] 20060305
|
|
gcc 4.2.1 20080123
|
|
g++ 4.2.1 20080123
|
|
gfortran 4.2.1 20080123
|
|
|
|
* HP-UX B.11.23 HP aC++/ANSI C B3910B A.06.00
|
|
HP F90 v2.9.2
|
|
HP aC++/ANSI C B3910B A.06.00
|
|
IRIX64 6.5 (64 & n32) MIPSpro cc 7.4.4m
|
|
F90 MIPSpro 7.4.4m
|
|
C++ MIPSpro cc 7.4.4m
|
|
|
|
* Linux 2.6.9 (RHEL4) Intel 10.0 compilers
|
|
(abe.ncsa.uiuc.edu)
|
|
Linux 2.4.21-47 gcc 3.2.3 20030502
|
|
(osage)
|
|
Linux 2.6.9-42.0.10 gcc 3.4.6 20060404
|
|
(kagiso) PGI 7.0-7 (pgcc, pgf90, pgCC)
|
|
Intel 9.1 (icc, ifort, icpc)
|
|
Linux 2.6.16.27 x86_64 AMD gcc 4.1.0 (SuSE Linux), g++ 4.1.0, g95 (GCC 4.0.3)
|
|
(smirom) PGI 6.2-5 (pgcc, pgf90, pgCC)
|
|
Intel 9.1 (icc, iort, icpc)
|
|
Linux 2.6.5-7.252.1-rtgfx #1
|
|
SMP ia64 Intel(R) C++ Version 9.0
|
|
(cobalt) Intel(R) Fortran Itanium(R) Version 9.0
|
|
SGI MPI
|
|
SunOS 5.8 32,46 Sun WorkShop 6 update 2 C 5.3
|
|
(Solaris 2.8) Sun WorkShop 6 update 2 Fortran 95 6.2
|
|
Sun WorkShop 6 update 2 C++ 5.3
|
|
* SunOS 5.10 i86pc Sun C 5.7
|
|
Sun Fortran 95 8.1
|
|
Sun C++ 5.7
|
|
SunOS 5.10 cc: Sun C 5.8
|
|
(linew) f90: Sun Fortran 95 8.2
|
|
CC: Sun C++ 5.8
|
|
Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre
|
|
(tungsten) gcc 3.2.2 20030222
|
|
Intel(R) C++ Version 9.0
|
|
Intel(R) Fortran Compiler Version 9.0
|
|
IA-64 Linux 2.4.21.SuSE_292.til1 ia64
|
|
(NCSA tg-login) gcc 3.2.2
|
|
Intel(R) C++ Version 8.1
|
|
Intel(R) Fortran Compiler Version 8.1
|
|
mpich-gm-1.2.5..10-intel-r2
|
|
Windows XP
|
|
Visual Studio .NET
|
|
Visual Studio 2005 w/ Intel Fortran 9.1
|
|
Cygwin(native gcc compiler and g95)
|
|
MinGW(native gcc compiler and g95)
|
|
Windows XP x64
|
|
Visual Studio 2005 w/ Intel Fortran 9.1
|
|
Windows Vista
|
|
Visual Studio 2005
|
|
|
|
MAC OS 10.4 (Intel) gcc i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1
|
|
G95 (GCC 4.0.3 (g95 0.91!) Nov 21 2006)
|
|
* Alpha Open VMS 7.3
|
|
|
|
|
|
Supported Configuration Features Summary
|
|
(This table was not modified for 1.8.0-rc* release; for information contact help@hdfgroup.org)
|
|
========================================
|
|
|
|
In the tables below
|
|
y = tested and supported
|
|
n = not supported or not tested in this release
|
|
x = not working in this release
|
|
dna = does not apply
|
|
( ) = footnote appears below second table
|
|
<blank> = testing incomplete on this feature or platform
|
|
|
|
Platform C F90 F90 C++ zlib SZIP
|
|
parallel parallel
|
|
SunOS5.8 64-bit n y n y y y
|
|
SunOS5.8 32-bit n y n y y y
|
|
SunOS5.10 64-bit y(1) y n y y y
|
|
SunOS5.10 32-bit y(1) y n y y y
|
|
IRIX64_6.5 64-bit n y y y y y
|
|
IRIX64_6.5 32-bit n n n n y y
|
|
Cray XT3 (16) n n n n n n
|
|
AIX-5.2 & 5.3 32-bit y y y y y y
|
|
AIX-5.2 & 5.3 64-bit y y y y y y
|
|
Windows XP n y(15) n(15) y y y
|
|
Windows XP x64 n y(15) n(15) y y y
|
|
Windows Vista n n n y y y
|
|
Mac OS X 10.4 PowerPC n n
|
|
FreeBSD 4.11 n n n y y y
|
|
RedHat EL3 W (3) y(1a) y(10) y(1a) y y y
|
|
RedHat EL3 W Intel (3) n y n y y n
|
|
RedHat EL3 W PGI (3) n y n y y n
|
|
SuSe x86_64 gcc (3,12) y(1a) y(11) n y y y
|
|
SuSe x86_64 Int (3,12) n y(13) n y y n
|
|
SuSe x86_64 PGI (3,12) n y(8) n y y y
|
|
Linux 2.4 Xeon C
|
|
Lustre Intel (3,6) n y n y y n
|
|
Linux 2.6 SuSE ia64 C
|
|
Intel (3,7) y y y y y n
|
|
Linux 2.6 SGI Altix
|
|
ia64 Intel (3) y y y y y y
|
|
Alpha OpenVMS 7.3.2 n y n y n n
|
|
|
|
|
|
|
|
Platform Shared Shared Shared static- Thread-
|
|
C libs F90 libs C++ libs exec safe
|
|
Solaris2.8 64-bit y y y x y
|
|
Solaris2.8 32-bit y y y x y
|
|
Solaris2.10 64-bit y x y
|
|
Solaris2.10 32-bit y x y
|
|
IRIX64_6.5 64-bit y y n y y
|
|
IRIX64_6.5 32-bit y dna y y y
|
|
HPUX11.00 y n y x n
|
|
HPUX11.23-32bit y n n y n
|
|
HPUX11.23-64bit y dna n y n
|
|
Cray XT3 (16) n n n n n
|
|
AIX-5.2 & 5.3 32-bit n n n y n
|
|
AIX-5.2 & 5.3 64-bit n n n y n
|
|
Windows XP y y(15) y y y
|
|
Windows XP x64 y y(15) y y y
|
|
Windows Vista y n n y y
|
|
Mac OS X 10.3 y y n
|
|
Mac OS X 10.4 PowerPC
|
|
FreeBSD 4.11 y n y y y
|
|
RedHat EL3 W (3) y y(10) y y y
|
|
RedHat EL3 W Intel (3) y y y y n
|
|
RedHat EL3 W PGI (3) y y y y n
|
|
SuSe x86_64 W GNU (3,12) y y y y y
|
|
SuSe x86_64 W Int (3,12) y y y y(14) n
|
|
SuSe x86_64 W PGI (3,12) y y y y(14) n
|
|
Linux 2.4 Xeon C
|
|
Lustre Intel (6) y y y y n
|
|
Linux 2.4 SuSE
|
|
ia64 C Intel (7) y y y y n
|
|
Linux 2.4 SGI Altix
|
|
ia64 Intel y y n
|
|
Alpha OpenVMS 7.3.2 n n n y n
|
|
|
|
Notes: (1) Using mpich 1.2.6.
|
|
(1a) Using mpich2 1.0.6.
|
|
(2) Using mpt and mpich 1.2.6.
|
|
(3) Linux 2.6 with GNU, Intel, and PGI compilers, as indicated.
|
|
W or C indicates workstation or cluster, respectively.
|
|
|
|
(6) Linux 2.4.21-32.0.1. Xeon cluster with ELsmp_perfctr_lustre
|
|
and Intel compilers
|
|
(7) Linux 2.4.21, SuSE_292.till. Ia64 cluster with Intel compilers
|
|
(8) pgf90
|
|
(9) With Compaq Visual Fortran 6.6c compiler.
|
|
(10) With PGI and Absoft compilers.
|
|
(11) PGI and Intel compilers for both C and Fortran
|
|
(12) AMD Opteron x86_64
|
|
(13) ifort
|
|
(14) Yes with C and Fortran, but not with C++
|
|
(15) Using Visual Studio 2005 or Cygwin
|
|
(16) Not tested for this release.
|
|
Compiler versions for each platform are listed in the preceding
|
|
"Platforms Tested" table.
|
|
|
|
|
|
|
|
Known Problems
|
|
==============
|
|
* We discovered two problems when running collective IO parallel HDF5 tests
|
|
with chunking storage on ChaMPIon MPI compiler on tungsten, a linux
|
|
cluster at NCSA.
|
|
Under some complex selection cases,
|
|
1) MPI_Get_element returns the wrong value.
|
|
2) MPI_Type_struct also generates wrong derived data type and corrupt data
|
|
may be generated.
|
|
This only happens when turning on collective IO with chunking storage
|
|
with some complex selections. We haven't found these problems on other
|
|
MPI-IO compilers. If you encounter these problems, you may use Independent IO
|
|
instead.
|
|
|
|
Change the following line in your code:
|
|
H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_COLLECTIVE);
|
|
|
|
to
|
|
H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_INDEPENDENT);
|
|
|
|
KY - 2007/08/24
|
|
|
|
* For SNL, spirit/liberty/thunderbird: The serial tests pass but parallel
|
|
tests failed with MPI-IO file locking message. AKC - 2007/6/25.
|
|
* On Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers use
|
|
-mp -O1 compilation flags to build the libraries. Higher level of optimization
|
|
causes failures in several HDF5 library tests.
|
|
* For HPUX 11.23 many tools tests failed for 64-bit version when linked to the
|
|
shared libraries (tested for 1.8.0-beta2)
|
|
* For SNL, Red Storm: only paralle HDF5 is supported. The serial tests pass
|
|
and the parallel tests also pass with lots of non-fatal error messages.
|
|
* For LLNL, uP: both serial and parallel pass. Zeus: serial passes but
|
|
parallel fails with a known proglem in MPI. ubgl: serial passes but
|
|
parallel fails.
|
|
* on SUN 5.10 C++ test fails in the "Testing Shared Datatypes with Attributes" test
|
|
* configuring with --enable-debug=all produces compiler errors on most
|
|
platforms. Users who want to run HDF5 in debug mode should use
|
|
--enable-debug rather than --enable-debug=all to enable debugging
|
|
information on most modules.
|
|
* On Mac OS 10.4, test/dt_arith.c has some errors in conversion from long
|
|
double to (unsigned) long long and from (unsigned)long long to long double.
|
|
* On Altix SGI with Intel 9.0 testmeta.c would not compile with -O3
|
|
optimization flag.
|
|
* On VAX, Scaleoffset filter isn't supported. The filter cannot be applied to
|
|
HDF5 data generated on VAX. Scaleoffset filter only supports IEEE standard
|
|
for floating-point data.
|
|
* On Cray X1, a lone colon on the command line of h5dump --xml (as in
|
|
the testh5dumpxml.sh script) is misinterpereted by the operating system
|
|
and causes an error.
|
|
* On mpich 1.2.5 and 1.2.6, we found that if more than two processes
|
|
contribute no IO and the application asks to do IO with collective, we found
|
|
that when using 4 processors, a simple collective write will be hung
|
|
sometimes. This can be verified with t_mpi test under testpar.
|
|
* On IRIX6.5, when C compiler version >7.4, the complicate MPI derived data type
|
|
code will work. However, the user should be aware to enlarge MPI_TYPE_MAX environment
|
|
variable to some certian value in order to use collective irregular selection code.
|
|
For example, the current parallel HDF5 test needs to enlarge MPI_TYPE_MAX to
|
|
200,000 to make the test pass.
|
|
* The dataset created or rewritten with the v1.6.3 library or after can't
|
|
be read with the v1.6.2 library or before when Fletcher32 EDC(filter) is
|
|
enabled. There was a bug in the calculating code of the Fletcher32
|
|
checksum in the library before v1.6.3. The checksum value wasn't consistent
|
|
between big-endian and little-endian systems. This bug was fixed in
|
|
Release 1.6.3. However, after fixing the bug, the checksum value is no
|
|
longer the same as before on little-endian system. The library release
|
|
after 1.6.4 can still read the dataset created or rewritten with the library
|
|
of v1.6.2 or before. SLU - 2005/6/30
|
|
* For the version 6(6.02 and 6.04) of Portland Group compiler on AMD Opteron
|
|
processor, there's a bug in the compiler for optimization(-O2). The library
|
|
failed in several tests but all related to multi driver. The problem has
|
|
been reported to the vendor.
|
|
* On IBM AIX systems, parallel HDF5 mode will fail some tests with error
|
|
messages like "INFO: 0031-XXX ...". This is from the command poe.
|
|
Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
|
|
and run the tests again.
|
|
The tests may fail with messages like "The socket name is already
|
|
in use". HDF5 does not use sockets (except for stream-VFD). This is
|
|
due to problems of the poe command trying to set up the debug socket.
|
|
Check if there are many old /tmp/s.pedb.* staying around. These are
|
|
sockets used by the poe command and left behind due to failed commands.
|
|
Ask your system administrator to clean them out. Lastly, request IBM
|
|
to provide a mean to run poe without the debug socket.
|
|
|
|
* The C++ library's tests fails when compiling with PGI C++ compiler. The
|
|
workaround until the problem is correctly handled is to use the
|
|
flag "--instantiate=local" prior to the configure and build steps, as:
|
|
setenv CXX "pgCC --instantiate=local" for pgCC 5.02 and higher
|
|
|
|
|
|
* The stream-vfd test uses ip port 10007 for testing. If another
|
|
application is already using that port address, the test will hang
|
|
indefinitely and has to be terminated by the kill command. To try the
|
|
test again, change the port address in test/stream_test.c to one not
|
|
being used in the host.
|
|
|
|
* The --enable-static-exec configure flag fails to compile for Solaris
|
|
platforms. This is due to the fact that not all of the system
|
|
libraries on Solaris are available in a static format.
|
|
|
|
The --enable-static-exec configure flag also fails to correctly compile
|
|
on IBM SP2 platform for the serial mode. The parallel mode works fine
|
|
with this option.
|
|
|
|
It is suggested that you don't use this option on these platforms
|
|
during configuration.
|
|
|
|
* With the gcc 2.95.2 compiler, HDF 5 uses the `-ansi' flag during
|
|
compilation. The ANSI version of the compiler complains about not being
|
|
able to handle the `long long' datatype with the warning:
|
|
|
|
warning: ANSI C does not support `long long'
|
|
|
|
This warning is innocuous and can be safely ignored.
|
|
|
|
|
|
* The Stream VFD was not tested yet under Windows. It is not supported
|
|
in the TFLOPS machine.
|
|
|
|
|
|
* The ./dsets tests failed in the TFLOPS machine if the test program,
|
|
dsets.c, is compiled with the -O option. The hdf5 library still works
|
|
correctly with the -O option. The test program works fine if it is
|
|
compiled with -O1 or -O0. Only -O (same as -O2) causes the test
|
|
program to fail.
|
|
|
|
* Certain platforms give false negatives when testing h5ls:
|
|
- Cray J90 and Cray T90IEEE give errors during testing when displaying
|
|
some floating-point values. These are benign differences due to
|
|
the different precision in the values displayed and h5ls appears to
|
|
be dumping floating-point numbers correctly.
|
|
|
|
* Before building HDF5 F90 Library from source on Crays
|
|
replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src
|
|
subdirectory in the top level directory with the Cray-specific files
|
|
from this site:
|
|
ftp://www.hdfgroup.uiuc.edu/pub/outgoing/hdf5/hdf5-1.8.0-pre/PATCH/
|
|
|
|
* Not all platforms behave correctly with szip's shared libraries. Szip is
|
|
disabled in these cases, and a message is relayed at configure time. Static
|
|
libraries should be working on all systems that support szip, and should be
|
|
used when shared libraries are unavailable. There is also a configure error
|
|
on Altix machines that incorrectly reports when a version of szip without
|
|
an encoder is being used.
|
|
|
|
* On some platforms that use Intel and Absoft compilers to build HDF5 fortran library,
|
|
compilation may fail for fortranlib_test.f90, fflush1.f90 and fflush2.f90
|
|
complaining about exit subroutine. Comment out the line
|
|
IF (total_error .ne. 0) CALL exit (total_error)
|
|
|
|
* On IA32 and IA64 systems, if you use a compiler other than GCC (such as
|
|
Intel's ecc or icc compilers), you will need to modify the generated
|
|
"libtool" program after configuration is finished. On or around line 104 of
|
|
the libtool file, there are lines which look like:
|
|
|
|
# How to pass a linker flag through the compiler.
|
|
wl=""
|
|
|
|
change these lines to this:
|
|
|
|
# How to pass a linker flag through the compiler.
|
|
wl="-Wl,"
|
|
|
|
UPDATE: This is now done automatically by the configure script. However, if
|
|
you still experience a problem, you may want to check this line in the
|
|
libtool file and make sure that it has the correct value.
|
|
|
|
* Information about building with PGI and Intel compilers is available in
|
|
INSTALL file sections 5.7 and 5.8
|
|
|
|
* On at least one system, (SDSC DataStar), the scheduler (in this case
|
|
LoadLeveler) sends job status updates to standard error when you run
|
|
any executable that was compiled with the parallel compilers.
|
|
|
|
This causes problems when running "make check" on parallel builds, as
|
|
many of the tool tests function by saving the output from test runs,
|
|
and comparing it to an exemplar.
|
|
|
|
The best solution is to reconfigure the target system so it no longer
|
|
inserts the extra text. However, this may not be practical.
|
|
|
|
In such cases, one solution is to "setenv HDF5_Make_Ignore yes" prior to
|
|
the configure and build. This will cause "make check" to continue after
|
|
detecting errors in the tool tests. However, in the case of SDSC DataStar,
|
|
it also leaves you with some 150 "failed" tests to examine by hand.
|
|
|
|
A second solution is to write a script to run serial tests and filter
|
|
out the text added by the scheduler. A sample script used on SDSC
|
|
DataStar is given below, but you will probably have to customize it
|
|
for your installation.
|
|
|
|
Observe that the basic idea is to insert the script as the first item
|
|
on the command line which executes the the test. The script then
|
|
executes the test and filters out the offending text before passing
|
|
it on.
|
|
|
|
#!/bin/csh
|
|
|
|
set STDOUT_FILE=~/bin/serial_filter.stdout
|
|
set STDERR_FILE=~/bin/serial_filter.stderr
|
|
|
|
rm -f $STDOUT_FILE $STDERR_FILE
|
|
|
|
($* > $STDOUT_FILE) >& $STDERR_FILE
|
|
|
|
set RETURN_VALUE=$status
|
|
|
|
cat $STDOUT_FILE
|
|
|
|
tail +3 $STDERR_FILE
|
|
|
|
exit $RETURN_VALUE
|
|
|
|
You get the HDF make files and test scipts to execute your filter script
|
|
by setting the environment variable "RUNSERIAL" to the full path of the
|
|
script prior to running configure for parallel builds. Remember to
|
|
"unsetenv RUNSERIAL" before running configure for a serial build.
|
|
|
|
Note that the RUNSERIAL environment variable exists so that we can
|
|
can prefix serial runs as necessary on the target system. On DataStar,
|
|
no prefix is necessary. However on an MPICH system, the prefix might
|
|
have to be set to something like "/usr/local/mpi/bin/mpirun -np 1" to
|
|
get the serial tests to run at all.
|
|
|
|
In such cases, you will have to include the regular prefix in your
|
|
filter script.
|
|
|
|
* H5Ocopy() does not copy reg_ref attributes correctly when shared-message
|
|
is turn on. The value of the reference in the destination attriubte is
|
|
wrong. This H5Ocopy problem will affect h5copy tool
|
|
|
|
%%%%1.6.7%%%% Release Information for hdf5-1.6.7 (31/January/08)
|
|
|
|
HDF5 version 1.6.7 released on Thu Jan 31 21:09:10 CST 2008
|
|
================================================================================
|
|
|
|
INTRODUCTION
|
|
============
|
|
This document describes the differences between HDF5-1.6.6 and HDF5-1.6.7
|
|
It contains information on the platforms tested and known problems in
|
|
HDF5-1.6.7. For more details, check the HISTORY.txt file in the HDF5 source.
|
|
|
|
HDF5 documentation can be found in the distributed release source code
|
|
in the subdirectory doc/html/ or on the THG (The HDF Group) FTP server:
|
|
|
|
ftp://ftp.hdfgroup.org/HDF5/docs/
|
|
|
|
Documentation for the current release in the HDF5 Release 1.6.x series is
|
|
also on the HDF web site:
|
|
|
|
http://hdfgroup.org/HDF5/doc1.6/
|
|
|
|
For more information, see the HDF5 home page:
|
|
|
|
http://hdfgroup.org/products/hdf5/
|
|
|
|
If you have any questions or comments, please see the HDF Support page
|
|
for a list of available resources:
|
|
|
|
http://hdfgroup.org/services/support.html
|
|
|
|
|
|
CONTENTS
|
|
========
|
|
- New Features
|
|
- Support for New Platforms, Languages and Compilers
|
|
- Bug Fixes since HDF5-1.6.6
|
|
- Documentation
|
|
- Platforms Tested
|
|
- Supported Configuration Features Summary
|
|
- Known Problems
|
|
|
|
|
|
New Features
|
|
============
|
|
Configuration:
|
|
-------------------------
|
|
'--enable-stream-vfd' and '--disable-stream-vfd' are no longer valid
|
|
configure options because the stream I/O driver has ben removed from
|
|
the distribution.
|
|
|
|
Source code distribution
|
|
========================
|
|
Library:
|
|
--------
|
|
The stream I/O driver is not included with the HDF5 Library in this
|
|
release. The source code files hdf5/src/H5FDstream.c and
|
|
hdf5/src/H5FDstream.h and the driver ENUM value H5FD_STREAM have been
|
|
removed.
|
|
|
|
Parallel Library:
|
|
-----------------
|
|
None
|
|
|
|
Tools:
|
|
------
|
|
None
|
|
|
|
F90 API:
|
|
--------
|
|
None
|
|
|
|
C++ API:
|
|
--------
|
|
None
|
|
|
|
|
|
Support for New Platforms, Languages and Compilers
|
|
==================================================
|
|
|
|
No new platorms, languages, or compilers are supported in this release.
|
|
|
|
|
|
Bug Fixes since HDF5-1.6.6 Release
|
|
==================================
|
|
|
|
Library
|
|
-------
|
|
- H5Iget_name could not be used with an object identifier returned
|
|
by H5Rdereference; the function would not be able to determine
|
|
a valid object name. It has been fixed. SLU - 2008/1/30
|
|
- Changed library's behavior for reading files that might have
|
|
corrupted object header information from a previous (buggy)
|
|
version of the library. By default, the library now rebuilds the
|
|
correct object header information instead of issuing an error.
|
|
Previous "strict" file format interpretation can be enabled with
|
|
the "--enable-strict-format-checks" configure option.
|
|
QAK - 2008/01/13
|
|
- Fixed bug in H5Epush() which was clearing the error stack before
|
|
pushing new error value. QAK - 2007/08/23
|
|
- Fixed bug in H5Ewalk() which was not passing back the return value
|
|
from error stack walking callback. QAK - 2007/08/23
|
|
|
|
|
|
Configuration
|
|
-------------
|
|
None
|
|
|
|
|
|
Performance
|
|
-------------
|
|
None
|
|
|
|
|
|
Tools
|
|
-----
|
|
None
|
|
|
|
|
|
Documentation
|
|
-------------
|
|
None
|
|
|
|
|
|
F90 API
|
|
-------
|
|
None
|
|
|
|
|
|
C++ API
|
|
-------
|
|
None
|
|
|
|
|
|
Documentation
|
|
=============
|
|
HDF5 documentation can be found in the distributed release source
|
|
code in the subdirectory doc/html/ (start with index.html) or on the
|
|
THG (The HDF Group) FTP server:
|
|
|
|
ftp://ftp.hdfgroup.org/HDF5/docs/
|
|
|
|
Online documentation for the current release in the HDF5 Release 1.6.x
|
|
series can be found on the THG web site:
|
|
|
|
http://hdfgroup.org/HDF5/doc1.6/
|
|
|
|
A listing of interface changes from release to release can be found
|
|
in the document "HDF5 Software Changes from Release to Release":
|
|
|
|
http://hdfgroup.org/HDF5/doc1.6/ADGuide/Changes.html
|
|
|
|
Since the stream I/O driver is not included in this release, the
|
|
functions H5Pset_fapl_stream and H5Pget_fapl_stream and the stream
|
|
ENUM value H5FD_STREAM have been removed from the documentation.
|
|
|
|
|
|
Platforms Tested
|
|
================
|
|
|
|
AIX 5.2 (32/64 bit) xlc 8.0.0.11
|
|
(datastar) xlC 8.0
|
|
xlf 10.01.0000.0002
|
|
|
|
FreeBSD 6.2 (32- and 64-bit) gcc and g++3.4.6
|
|
(duty and liberty) gcc and g++ 4.2.1
|
|
|
|
IRIX64 6.5 MIPSpro cc 7.4.4m
|
|
(ucar mop1 64 & n32) F90 MIPSpro 7.4.4m (64 only)
|
|
C++ MIPSpro cc 7.4.4m
|
|
|
|
Linux 2.4.21-47.ELsmp #1 SMP gcc 3.2.3
|
|
i686 i386 GNU/Linux
|
|
(osage)
|
|
|
|
Linux 2.6.9-42.0.10.ELsmp #1 gcc (GCC) 3.4.6
|
|
SMP i686 i386 G95 (GCC 4.0.3 (g95 0.91!) April 18 2007)
|
|
(kagiso) PGI C, Fortran, C++ 7.0-7 32-bit
|
|
Intel(R) C Compiler for 32-bit
|
|
applications, Version 9.1
|
|
Intel(R) C++ Compiler for 32-bit
|
|
applications, Version 9.1
|
|
Intel(R) Fortran Compiler for 32-bit
|
|
applications, Version 9.1
|
|
Absoft 32-bit Fortran 95 10.0.4
|
|
MPICH mpich2-1.0.6p1 compiled with
|
|
gcc 4.2.1 and G95 (GCC 4.0.3 (g95 0.91!)
|
|
|
|
Linux 2.6.16.46-0.12-debug #1 Intel(R) C++ Version 10.0.025
|
|
SMP ia64 GNU/Linux Intel(R) Fortran Itanium(R) Version 10.0.025
|
|
(ucar hir1)
|
|
|
|
Linux 2.6.16.46-0.14-smp #1 Intel(R) C++ for Intel(R) EM64T Ver. 9.1.037
|
|
SMP x86_64 GNU/Linux Intel(R) Fortran Intel(R) EM64T Ver. 9.1.031
|
|
(smirom) PGI C, Fortran, C++ Version 7.0-7
|
|
for 64-bit target on x86-64
|
|
tested for both 32- and 64-bit binaries
|
|
|
|
Linux 2.6.5-7.287.3-sn2 #1 Intel(R) C++ Version 9.0
|
|
Altix SMP ia64 Intel(R) Fortran Itanium(R) Version 9.0
|
|
(cobalt) SGI MPI
|
|
|
|
SunOS 5.8 32- and 64-bit Sun WorkShop 6 update 2 C 5.3
|
|
(sol) Sun WorkShop 6 update 2 Fortran 95 6.2
|
|
Sun WorkShop 6 update 2 C++ 5.3
|
|
|
|
SunOS 5.10 32- and 64-bit Sun WorkShop 6 update 2 C 5.8
|
|
(linew) Sun WorkShop 6 update 2 Fortran 95 8.2
|
|
Sun WorkShop 6 update 2 C++ 5.8
|
|
Patch 121019-06
|
|
|
|
Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre
|
|
(tungsten) Intel(R) C++ Version 9.0
|
|
Intel(R) Fortran Compiler Version 9.0
|
|
PGI C Version 6.0-5
|
|
PGI C++ Version 6.0-5
|
|
PGI Fortran Version 6.0-5
|
|
gcc (GCC) 3.2.2 (Red Hat Linux 3.2.2-5)
|
|
|
|
Xeon Linux 2.6.9-42.0.10.EL_lustre-1.4.10.1smp
|
|
(abe) Intel(R) C++ Version 10.0
|
|
Intel(R) Fortran Compiler Version 10.0
|
|
Open MPI 1.2.2
|
|
|
|
IA-64 Linux 2.4.21-309.tg1 #1 SMP
|
|
ia64 gcc (GCC) 3.2.2
|
|
(NCSA tg-login) Intel(R) C++ Version 8.1
|
|
Intel(R) Fortran Compiler Version 8.1
|
|
mpich-gm-1.2.6..14-intel-r2
|
|
|
|
Windows XP Visual Studio 6.0
|
|
Visual Studio .NET (with Intel Fortran 9.1)
|
|
Visual Studio 2005 (with Intel Fortran 9.1)
|
|
cygwin (gcc 3.4.4)
|
|
|
|
Windows Vista Visual studio 2005
|
|
MAC OS X Intel Darwin 8.10.1
|
|
i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1
|
|
g95 0.91
|
|
|
|
|
|
Supported Configuration Features Summary
|
|
========================================
|
|
|
|
Key: y = Tested and supported
|
|
n = Not supported or not tested in this release
|
|
C = Cluster
|
|
W = Workstation
|
|
( ) = Footnote appears below second table
|
|
|
|
Platform C F90 F90 C++ zlib SZIP
|
|
parallel parallel
|
|
Solaris2.8 32-bit n y n y n y
|
|
Solaris2.8 64-bit n y n n y y
|
|
Solaris2.10 32-bit n y n y y y
|
|
Solaris2.10 64-bit n y n n y y
|
|
IRIX64_6.5 32-bit n n n n y y
|
|
IRIX64_6.5 64-bit n y n n y y
|
|
WinXP Visual Studio 6.0 n n n y y y
|
|
WinXP CYGWIN n n n y y y
|
|
WinXP 2005 n y n y y y
|
|
WinXP .Net n y n y y y
|
|
WinVista 2005 n n n y y y
|
|
Mac OS X 10.4.10 n y n y y y
|
|
AIX-5.2 & 5.3 32- and 64-bit y y y y y y
|
|
FreeBSD 6.2 32- and 64-bit n n n y y y
|
|
RedHat Linux 2.4.21 W n n n n y n
|
|
RedHat Linux 2.6.9-42 i686 GNU (1) W y y y y y y
|
|
RedHat Linux 2.6.9-42 i686 Intel W n y n y y n
|
|
RedHat Linux 2.6.9-42 i686 PGI W n y n y y n
|
|
SuSE Linux 2.6.16 x86_64 GNU (1) W y y n y y y
|
|
SuSE Linux 2.6.16 x86_64 Intel W n y n y y n
|
|
SuSE Linux 2.6.16 x86_64 PGI W n y n y y n
|
|
RHEL 4 Linux 2.6.9 Xeon Lustre C n y n y y y
|
|
RedHat Linux 2.4 Xeon Lustre C n y n y y n
|
|
SuSE Linux 2.4 ia64 C y y y y y y
|
|
SuSe Linux 2.6.5 SGI Altix ia64 n y n y y y
|
|
|
|
|
|
Platform Shared static- Thread-
|
|
libraries(4) exec safe
|
|
Solaris2.8 32- and 64-bit y n y
|
|
Solaris2.10 32- and 64-bit y n y
|
|
IRIX64_6.5 32-bit y n y
|
|
IRIX64_6.5 64-bit y n y
|
|
WinXP Visual Studio 6.0 y n n
|
|
WinXP CYGWIN y n n
|
|
WinXP 2005 y n n
|
|
WinXP .Net y n n
|
|
WinVista 2005 y n n
|
|
Mac OS X 10.4.10 y n n
|
|
AIX-5.2 & 5.3 32- and 64-bit n n n
|
|
FreeBSD 6.2 32- and 64-bit y n n
|
|
RedHat Linux 2.4.21 W y n n
|
|
SuSE Linux 2.6.9-42 i686 GNU (1) W y n y
|
|
SuSE Linux 2.6.9-42 i686 Intel W y n n
|
|
SuSE Linux 2.6.9-42 i686 PGI W n n n
|
|
SuSE Linux 2.6.16 x86_64 GNU (1) W y n y
|
|
SuSE Linux 2.6.16 x86_64 Intel W y n n
|
|
SuSE Linux 2.6.16 x86_64 PGI W n n n
|
|
RHEL 4 Linux 2.6.9 Xeon Lustre C y n n
|
|
RedHat Linux 2.4 Xeon Lustre C y n n
|
|
SuSE Linux 2.4 ia64 C y n n
|
|
SuSe Linux 2.6.5 SGI Altix ia64 n n n
|
|
|
|
Compiler versions for each platform are listed in the "Platforms Tested"
|
|
table found elsewhere in this file (RELEASE.txt). Unless otherwise noted,
|
|
compilers used are the system compilers.
|
|
|
|
Footnotes:
|
|
(1) Fortran compiled with g95.
|
|
|
|
|
|
Known Problems
|
|
==============
|
|
* We discovered two problems when running collective IO parallel HDF5 tests
|
|
with chunking storage with the ChaMPIon MPI compiler on tungsten, a Linux
|
|
cluster at NCSA.
|
|
Under some complex selection cases,
|
|
1) MPI_Get_element returns the wrong value.
|
|
2) MPI_Type_struct also generates the wrong derived datatype and corrupt
|
|
data may be generated.
|
|
This only happens when turning on collective IO with chunking storage
|
|
with some complex selections. We haven't found these problems on other
|
|
MPI-IO compilers. If you encounter these problems, you may use Independent
|
|
IO instead.
|
|
|
|
To avoid this problem, change the following line in your code:
|
|
H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_COLLECTIVE);
|
|
|
|
to
|
|
H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_INDEPENDENT);
|
|
|
|
KY - 2007/08/24
|
|
|
|
* QSC (an HP alpha-based OSF1 cluster) does not create h5pfc correctly. It
|
|
does not include the -lmpi properly. This will be fixed in the next
|
|
release. AKC - 2007/08/07.
|
|
|
|
* On IRIX64 6.5 (UCAR SGI mop1), when testing HDF5 tools with an HDF5 shared
|
|
library, especially for h5repacktst and h52gifgentst, the following (or a
|
|
similar) error message may appear:
|
|
"523648:lt-h5repacktst: rld: Fatal Error: Cannot Successfully map soname
|
|
'libh5test.so.1' under any of the filenames .......(bunch of directories)
|
|
"
|
|
And the testing will fail.
|
|
|
|
We believe this is a libtool problem. One way to get rid of this is to
|
|
add the paths of libh5test.so.1 and libh5.so.1 to the shared library path.
|
|
|
|
For 32-bit:
|
|
You may do this, under csh:
|
|
setenv LD_LIBRARYN32_PATH .......(existing paths):[full path of HDF5
|
|
directory/test/.libs]:[full path of HDF5 directory/src/.libs]
|
|
|
|
For 64-bit:
|
|
setenv LD_LIBRARY64_PATH ......(existing paths):[full path of HDF5
|
|
directory/test/.libs]:[full path of HDF5 directory/src/.libs]
|
|
|
|
NOTE: This problem ONLY affects the testing of the HDF5 library when you
|
|
build from source. It won't affect any applications that would like to link
|
|
with the HDF5 shared library since the shared library path needs to be set
|
|
anyway. KY - 2007/8/2
|
|
|
|
* QSC (an HP alpha-based OSF1 cluster) failed the testpar/testphdf5 sub-test
|
|
"calloc". All other tests passed. This indicates that a dataset using
|
|
chunked storage created by serial HDF5 may not work properly with parallel
|
|
HDF5. The calloc test can be skipped by running "prun ... testphdf5 -x
|
|
calloc". AKC - 2007/7/12.
|
|
|
|
* The Intel C Compiler for the Linux x86_64 platform (EM64T-based, v8.1) has
|
|
an optimization error in the datatypes conversion code. Before running
|
|
configure, edit the file config/intel-flags by changing the setting of
|
|
PROD_CFLAGS from -O3 to -O0. Then run configure. AKC - 2005/11/10.
|
|
|
|
* When testing parallel HDF5 with the C compiler version MIPSpro 7.4.3 on IRIX
|
|
6.5, set the environment variable MPI_TYPE_MAX to be a bigger number, for
|
|
example 120000, in order to pass the complicated collective IO tests inside
|
|
the parallel HDF5 library. This is not a problem inside the parallel HDF5
|
|
library. You can always set a bigger number on your system. KY - 2005/10/6
|
|
|
|
* A contiguous or chunked dataset created by a sequential version of HDF5
|
|
might not be able to be modified with a parallel version of the library.
|
|
Use the H5Pset_alloc_time function with H5D_ALLOC_TIME_EARLY to set up the
|
|
dataset creation property list to avoid the problem. EIP - 2005/09/09
|
|
|
|
* A dataset created or rewritten with the v1.6.3 library or after can't
|
|
be read with the v1.6.2 library or before when Fletcher32 EDC (a filter) is
|
|
enabled. There was a bug in the calculating code of the Fletcher32
|
|
checksum in the library before v1.6.3. The checksum value wasn't consistent
|
|
between big-endian and little-endian systems. This bug was fixed in
|
|
Release 1.6.3. However, after fixing the bug, the checksum value is no
|
|
longer the same as before on little-endian system. HDF5 library releases
|
|
after 1.6.4 can still read datasets created or rewritten with an HDF5
|
|
library of v1.6.2 or before. SLU - 2005/7/8
|
|
|
|
* For version 6 (6.02 and 6.04) of the Portland Group compiler on AMD Opteron
|
|
processor, there's a bug in the compiler for optimization(-O2). The library
|
|
failed in several tests, all related to the multi driver. The problem has
|
|
been reported to the vendor.
|
|
|
|
* test/big fails sometimes with the message "Possible overlap with another
|
|
region." The test selects regions randomly, and this error occurs when
|
|
two regions overlap each other; it is a bug in the test and not in
|
|
HDF5. Since the error is triggered by a random situation, it will
|
|
usually disappear if the test is re-run.
|
|
|
|
* Newer SGI MIPSpro compilers (version 7.4.x) support C99 features but
|
|
have a "guard" statement in stdint.h that will #error and skip the rest
|
|
of the header file if the C99 option is not used explicitly. Hardsetting
|
|
$CC to c99 will resolve the problem. AKC - 2004/12/13
|
|
|
|
* On IBM AIX systems, parallel HDF5 mode will fail some tests with error
|
|
messages like "INFO: 0031-XXX ...". This is from the command poe.
|
|
Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
|
|
and run the tests again.
|
|
|
|
The tests may also fail with messages like "The socket name is already
|
|
in use". HDF5 does not use sockets. This is due to problems of the
|
|
poe command trying to set up the debug socket. Check whether there are
|
|
many old /tmp/s.pedb.* files staying around. These are sockets used by
|
|
the poe command and left behind due to failed commands. Ask your system
|
|
administrator to clean them out. Lastly, request IBM to provide a means
|
|
to run poe without the debug socket.
|
|
|
|
* The h5dump tests may fail to match the expected output on some platforms
|
|
(e.g. parallel jobs, Windows) where the error messages directed to
|
|
"stderr" do not appear in the "right order" with output from stdout.
|
|
This is not an error.
|
|
|
|
* The --enable-static-exec configure flag fails to compile for Solaris
|
|
platforms. This is due to the fact that not all of the system
|
|
libraries on Solaris are available in a static format.
|
|
|
|
The --enable-static-exec configure flag also fails to correctly compile
|
|
on the IBM SP2 platform for the serial mode. The parallel mode works fine
|
|
with this option.
|
|
|
|
The --enable-static-exec configure flag also fails to correctly compile
|
|
on the HPUX 11.00.
|
|
|
|
It is suggested that you don't use this option on these platforms
|
|
during configuration.
|
|
|
|
* Use the --disable-shared configure flag if building with an Absoft Fortran
|
|
compiler.
|
|
|
|
* Information about building with PGI and Intel compilers is available in
|
|
INSTALL file sections 5.7 and 5.8.
|
|
|
|
* In LANL QSC, the new cc compiler has problems converting small values of
|
|
long long (absolute values less than 1**-308) to double. This triggers
|
|
the test/dtypes to report failure in the following test:
|
|
Testing random sw long double -> double conversions
|
|
If -ieee is used, the converted doubles spread over the range 0.0 to
|
|
10**-308. If -ieee is not used, the converted double values are mostly
|
|
0.0, but occasionally appear as 10**-308. This has been reported to the
|
|
system staff.
|
|
|
|
All other tests have passed.
|
|
|
|
* On at least one system, SDSC DataStar, the scheduler (in this case
|
|
LoadLeveler) sends job status updates to standard error when you run
|
|
any executable that was compiled with the parallel compilers.
|
|
|
|
This causes problems when running "make check" on parallel builds, as
|
|
many of the tool tests function by saving the output from test runs,
|
|
and comparing it to an exemplar.
|
|
|
|
The best solution is to reconfigure the target system so it no longer
|
|
inserts the extra text. However, this may not be practical.
|
|
|
|
In such cases, one solution is to "setenv HDF5_Make_Ignore yes" prior to
|
|
the configure and build. This will cause "make check" to continue after
|
|
detecting errors in the tool tests. However, in the case of SDSC DataStar,
|
|
it also leaves you with some 150 "failed" tests to examine by hand.
|
|
|
|
A second solution is to write a script to run serial tests and filter
|
|
out the text added by the scheduler. A sample script used on SDSC
|
|
DataStar is given below, but you will probably have to customize it
|
|
for your installation.
|
|
|
|
Observe that the basic idea is to insert the script as the first item
|
|
on the command line which executes the test. The script then
|
|
executes the test and filters out the offending text before passing
|
|
it on.
|
|
|
|
#!/bin/csh
|
|
|
|
set STDOUT_FILE=~/bin/serial_filter.stdout
|
|
set STDERR_FILE=~/bin/serial_filter.stderr
|
|
|
|
rm -f $STDOUT_FILE $STDERR_FILE
|
|
|
|
($* > $STDOUT_FILE) >& $STDERR_FILE
|
|
|
|
set RETURN_VALUE=$status
|
|
|
|
cat $STDOUT_FILE
|
|
|
|
tail +3 $STDERR_FILE
|
|
|
|
exit $RETURN_VALUE
|
|
|
|
You get the HDF5 make files and test scripts to execute your filter script
|
|
by setting the environment variable "RUNSERIAL" to the full path of the
|
|
script prior to running configure for parallel builds. Remember to
|
|
"unsetenv RUNSERIAL" before running configure for a serial build.
|
|
|
|
Note that the RUNSERIAL environment variable exists so that we can
|
|
prefix serial runs as necessary on the target system. On DataStar,
|
|
no prefix is necessary. However, on an MPICH system, the prefix might
|
|
have to be set to something like "/usr/local/mpi/bin/mpirun -np 1" to
|
|
get the serial tests to run at all.
|
|
|
|
In such cases, you will have to include the regular prefix in your
|
|
filter script. JM - 2004/9/15
|
|
|
|
%%%%1.6.6%%%% Release Information for hdf5-1.6.6 (16/August/08)
|
|
|
|
HDF5 version 1.6.6 released on Thu Aug 16 11:17:10 CDT 2007
|
|
================================================================================
|
|
|
|
INTRODUCTION
|
|
============
|
|
This document describes the differences between HDF5-1.6.5 and
|
|
HDF5-1.6.6 It contains information on the platforms tested and
|
|
known problems in HDF5-1.6.6. For more details, check the HISTORY.txt
|
|
file in the HDF5 source.
|
|
|
|
HDF5 documentation can be found in the distributed release source
|
|
code in the subdirectory doc/html/ or on the THG (The HDF Group)
|
|
ftp server (ftp.hdfgroup.org) in the directory:
|
|
|
|
/HDF5/docs/
|
|
|
|
Documentation for the current release is also on the HDF web site:
|
|
|
|
http://hdfgroup.org/HDF5/doc/
|
|
|
|
For more information, see the HDF5 home page at:
|
|
|
|
http://hdfgroup.org/HDF5/
|
|
|
|
If you have any questions or comments, please send them to:
|
|
|
|
help@hdfgroup.org
|
|
|
|
|
|
CONTENTS
|
|
========
|
|
- New Features
|
|
- Support for New Platforms, Languages and Compilers
|
|
- Bug Fixes since HDF5-1.6.5
|
|
- Documentation
|
|
- Platforms Tested
|
|
- Supported Configuration Features Summary
|
|
- Known Problems
|
|
|
|
|
|
New Features
|
|
============
|
|
Configuration:
|
|
-------------------------
|
|
- HDF5 now uses autoconf 2.61 to generate configure. MAM - 2007/7/25.
|
|
|
|
Source code distribution
|
|
========================
|
|
Library:
|
|
--------
|
|
- None
|
|
|
|
Parallel Library:
|
|
-----------------
|
|
- None
|
|
|
|
Tools:
|
|
------
|
|
- h52gif and gif2h5: Both these tools were revised to include High
|
|
Level Image API support. Tests were added to /hl/tools/gif2h5.
|
|
PVN - 2007/04/13
|
|
- h5dump: Added support for double long type H5T_NATIVE_LDOUBLE.
|
|
PVN - 2007/03/13
|
|
- h5dump: Added support for binary output; see usage. PVN 2007/03/13
|
|
- h5repack: Added support for reading and writing by hyperslabs for
|
|
large files. PVN - 2007/03/01
|
|
- h5repack: A new option allows the copy to use the source file type
|
|
(default) instead of the previous conversion to native type.
|
|
PVN - 2007/03/01
|
|
- h5repack: Added output of the percentage of compression achieved.
|
|
PVN - 2007/03/01
|
|
- h5diff: Added support for comparing dataset regions. PVN -
|
|
2007/02/20
|
|
- h5diff: Added support for reading and comparing by hyperslabs for
|
|
large files. PVN - 2007/02/20
|
|
- h5diff: Added printing of dataset dimensions along with dataset
|
|
name.
|
|
PVN - 2007/02/19
|
|
|
|
F90 API:
|
|
--------
|
|
- None
|
|
|
|
C++ API:
|
|
--------
|
|
- Added support for Szip: DSetCreatPropList::setSzip - BMR 2007/01/24
|
|
|
|
|
|
Support for New Platforms, Languages and Compilers
|
|
==================================================
|
|
- Added support for MAC Intel (Darwin 8.8.2) (gcc 4.0.1 and g95 0.91)
|
|
EIP - 2007/02/13
|
|
- Added support for GNU C compiler version 4.2.1 for FreeBSD 6.2
|
|
(32- and 64-bit)
|
|
|
|
|
|
Bug Fixes since HDF5-1.6.5 Release
|
|
==================================
|
|
|
|
Library
|
|
-------
|
|
- Fixed several bugs with writing fill values for datasets that have
|
|
a variable-length datatype or component datatype. QAK -
|
|
2007/06/19
|
|
- STDIO driver didn't support files bigger than 2GB because the OFFSET
|
|
parameter of fseek is of type LONG INT, not big enough for big
|
|
files. Use fseeko instead for big files if it's available on the
|
|
system. SLU - 2007/4/5
|
|
- Relaxed restrictions on attribute operations to allow a file ID to
|
|
be used as the "location ID". If a file ID is used, the attribute
|
|
operation will occur on the root group of the file.
|
|
QAK - 2007/02/09
|
|
- Fixed a bug in H5Sselect_valid() that caused an incorrect value to
|
|
be returned (0) instead of FAIL on error conditions such as the
|
|
selection or extent not being defined. CMC - 2007/01/05
|
|
- Fixed potential file corruption bug which could overwrite a portion
|
|
of an object's header when an attribute was renamed. If the new
|
|
name for the attribute was longer than the old name, it was
|
|
possible
|
|
that the attribute would grow enough to overwrite another message
|
|
in the object's header. QAK - 2007/01/02
|
|
- Fixed file corruption bug which could write an incorrect number of
|
|
messages to an object's header under certain circumstances.
|
|
Generally, the sequence of actions to generate this bug looks
|
|
like this:
|
|
- Create an object.
|
|
- Close the file.
|
|
- Re-open the file.
|
|
- Add 2 (or more) attributes to the object.
|
|
- Close the file.
|
|
- Re-open the file.
|
|
- Delete one of the attributes on the object.
|
|
- Add a smaller attribute to the object.
|
|
- Delete the smaller atttribute on the object.
|
|
- Add a larger attribute on the object.
|
|
|
|
After this, the number of header messages stored for the object
|
|
will be off by one. Other sequences of modifying attributes on an
|
|
object could also trigger this bug. If you are opening an
|
|
object and the bottom few messages of the HDF5 error stack
|
|
resembles the following, the object has been affected by this bug:
|
|
|
|
#007: ../../hdf5_v1.6/src/H5C.c line 3887 in H5C_load_entry():
|
|
unable to load entry
|
|
major(08): Meta data cache layer
|
|
minor(40): Unable to load metadata into cache
|
|
#008: ../../hdf5_v1.6/src/H5Ocache.c line 332 in H5O_load():
|
|
corrupt object header - too few messages
|
|
major(12): Object header layer
|
|
minor(40): Unable to load metadata into cache
|
|
|
|
Specifically, "corrupt object header" is the best string to search
|
|
for in the HDF5 error stack output.
|
|
|
|
If your files have been affected by this bug, or you are concerned
|
|
that your files might have been, please contact the HDF Helpdesk
|
|
at help@hdfgroup.org for a tool to detect and repair files
|
|
affected by this problem. QAK - 2006/6/16
|
|
|
|
- Fixed various problems with retrieving names of objects, especially
|
|
with mounted files. QAK - 2005/12/25
|
|
|
|
Configuration
|
|
-------------
|
|
- Changed to default to --disable-shared if parallel is enabled.
|
|
AKC - 2007/5/12
|
|
- Corrected a coding error in configure when it tries to locate the
|
|
needed MPI and MPI-IO library for the fortran interface.
|
|
AKC - 007/5/9.
|
|
- Changed default fortran compiler to g95 when gcc is used.
|
|
AKC - 007/2/17.
|
|
- Configure can now use any tr command. No more need for
|
|
defining the variable TR, nor is it supported. AKC - 2006/05/20
|
|
|
|
Performance
|
|
-------------
|
|
- None
|
|
|
|
Tools
|
|
-----
|
|
- Fixed a bug in h5dump regarding the display of named datatypes
|
|
attributes. PVN - 2007/03/13
|
|
- Fixed a bug in h5dump regarding the display of group comments.
|
|
PVN - 2007/03/13
|
|
- Fixed a bug in h5dump regarding the display of hardlinks pointing
|
|
to the root group. PVN - 2007/03/13
|
|
- Fixed a bug in the h5diff percentage option -p. PVN - 2007/03/05
|
|
- Fixed a bug in h5dump that caused array indices greater than 2^32-1
|
|
not to be printed correctly. PVN - 2007/2/19
|
|
|
|
Documentation
|
|
-------------
|
|
- Corrected errors and extended the descriptions in Reference Manual
|
|
entries for several functions.
|
|
|
|
F90 API
|
|
-------
|
|
- None
|
|
|
|
C++ API
|
|
-------
|
|
- Changed
|
|
StrType::StrType(const size_t& size);
|
|
to
|
|
StrType::StrType(const int dummy, const size_t& size);
|
|
because the first one clashed with
|
|
StrType::StrType(const hid_t existing_id); - BMR 2007/05/03
|
|
- Wrappers of H5Rcreate had incorrect prototypes. Added these
|
|
overloaded functions:
|
|
IdComponent::reference(void* ref, const char* name,
|
|
DataSpace&
|
|
dataspace, H5R_type_t ref_type = H5R_DATASET_REGION)
|
|
IdComponent::void reference(void* ref, const char* name)
|
|
IdComponent::reference(void* ref, const H5std_string& name)
|
|
and will remove these incorrect member functions:
|
|
DataSet::Reference
|
|
DataType::Reference
|
|
Group::Reference
|
|
H5File::Reference
|
|
- Added wrappers for H5Rdereference as constructors:
|
|
DataSet(IdComponent& obj, void* ref);
|
|
Group(IdComponent& obj, void* ref);
|
|
DataType(IdComponent& obj, void* ref);
|
|
|
|
|
|
Documentation
|
|
=============
|
|
|
|
HDF5 documentation can be found in the distributed release source
|
|
code in the subdirectory doc/html/ (start with index.html) or on the
|
|
THG (The HDF Group) ftp server (ftp.hdfgroup.org) in the directory:
|
|
|
|
/HDF5/docs/
|
|
|
|
Online documentation for the current release can be found on the THG
|
|
web site:
|
|
|
|
http://hdfgroup.org/HDF5/doc/
|
|
|
|
|
|
Platforms Tested
|
|
================
|
|
|
|
AIX 5.2 (32/64 bit) xlc 6.0.0.8
|
|
(datastar) xlC 6.0.0.9
|
|
xlf 8.1.1.7
|
|
mpcc_r 6.0.0.8
|
|
mpxlf_r 8.1.1.7
|
|
|
|
AIX 5.3 (32/64 bit) xlc 7.0.0.0
|
|
(copper) xlC 7.0.
|
|
xlf 9.1.0.3
|
|
|
|
FreeBSD 6.2 (32- and 64-bit) gcc and g++3.4.6
|
|
(duty and liberty) gcc and g++ 4.2.1
|
|
|
|
HP-UX B.11.23 HP aC++/ANSI C B3910B A.06.02
|
|
(sirius) HP F90 v3.1 (32-bit only)
|
|
HP aC++/ANSI C B3910B A.06.02
|
|
|
|
IRIX64 6.5 MIPSpro cc 7.4.4m
|
|
(ucar mop1 64 & n32) F90 MIPSpro 7.4.4m (64 only)
|
|
C++ MIPSpro cc 7.4.4m
|
|
|
|
Linux 2.4.21-47.ELsmp #1 SMP gcc 3.2.3
|
|
i686 i386 GNU/Linux
|
|
(osage)
|
|
|
|
Linux 2.6.9-42.0.10.ELsmp #1 gcc (GCC) 3.4.6
|
|
SMP i686 i386 G95 (GCC 4.0.3 (g95 0.91!) Nov 21 2006)
|
|
(kagiso) PGI C, Fortran, C++ 6.2-5 32-bit
|
|
icc (ICC) 9.1
|
|
Intel(R) C++ Compiler for 32-bit
|
|
applications, Version 9.1
|
|
Intel(R) Fortran Compiler for 32-bit
|
|
applications, Version 9.1
|
|
Absoft 32-bit Fortran 95 10.0.4
|
|
MPICH mpich2-1.0.4p1 compiled with
|
|
gcc 3.4.6 and G95 (GCC 4.0.3 (g95 0.91!)
|
|
|
|
Linux 2.6.16.46-0.12-debug #1
|
|
SMP ia64 GNU/Linux Intel(R) C++ Version 10.0.025
|
|
(ucar hir1) Intel(R) Fortran Itanium(R) Version 10.0.025
|
|
|
|
Linux 2.6.16.46-0.14-smp #1 Intel(R) C++ for Intel(R) EM64T Ver. 9.1.037
|
|
SMP x86_64 GNU/Linux Intel(R) Fortran Intel(R) EM64T Ver. 9.1.031
|
|
(smirom) PGI C, Fortran, C++ Version 6.2-5
|
|
for 64-bit target on x86-64
|
|
tested for both 32- and 64-bit binaries
|
|
|
|
Linux 2.6.5-7.283-rtgfx Altix
|
|
SMP ia64 Intel(R) C++ Version 9.0
|
|
(cobalt) Intel(R) Fortran Itanium(R) Version 9.0
|
|
SGI MPI
|
|
|
|
OSF1 V5.1 (QSC) Compaq C V6.5-011
|
|
(See "Known Problems.") HP Fortran V5.5A-3548
|
|
Compaq C++ V6.5-036
|
|
MPIX200_64_r13.4
|
|
|
|
SunOS 5.8 32- and 64-bit Sun WorkShop 6 update 2 C 5.3
|
|
(sol) Sun WorkShop 6 update 2 Fortran 95 6.2
|
|
Sun WorkShop 6 update 2 C++ 5.3
|
|
|
|
SunOS 5.10 32- and 64-bit Sun WorkShop 6 update 2 C 5.8
|
|
(linew) Sun WorkShop 6 update 2 Fortran 95 8.2
|
|
Sun WorkShop 6 update 2 C++ 5.8
|
|
Patch 121019-06
|
|
|
|
Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre
|
|
(tungsten) Intel(R) C++ Version 9.0
|
|
Intel(R) Fortran Compiler Version 9.0
|
|
PGI C Version 6.0
|
|
PGI C++ Version 6.0
|
|
PGI Fortran Version 6.0
|
|
gcc (GCC) 3.2.2 (Red Hat Linux 3.2.2-5)
|
|
|
|
Xeon Linux 2.6.9-42.0.10.EL_lustre-1.4.10.1smp
|
|
(abe) Intel(R) C++ Version 10.0
|
|
Intel(R) Fortran Compiler Version 10.0
|
|
Open MPI 1.2.2
|
|
|
|
IA-64 Linux 2.4.21.SuSE_292.til1
|
|
ia64 gcc (GCC) 3.2.2
|
|
(NCSA tg-login) Intel(R) C++ Version 8.0
|
|
Intel(R) Fortran Compiler Version 8.0
|
|
mpich-gm-1.2.5..10-intel-r2
|
|
|
|
Windows XP Visual Studio 6.0
|
|
Visual Studio .NET (with Intel Fortran 9.0)
|
|
Visual Studio 2005 (with Intel Fortran 9.0)
|
|
cygwin (gcc 3.4.4)
|
|
|
|
MAC OS X Intel Darwin 8.10.1
|
|
i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1
|
|
g95 0.91
|
|
|
|
|
|
Supported Configuration Features Summary
|
|
========================================
|
|
|
|
Key: y = Tested and supported
|
|
n = Not supported or not tested in this release
|
|
C = Cluster
|
|
W = Workstation
|
|
( ) = Footnote appears below second table
|
|
|
|
Platform C F90 F90 C++ zlib SZIP
|
|
parallel parallel
|
|
Solaris2.8 32- and 64-bit n y n y y y
|
|
Solaris2.10 32- and 64-bit n y n y y y
|
|
IRIX64_6.5 32-bit n n n n y y
|
|
IRIX64_6.5 64-bit n y n n y y
|
|
HPUX11.23-32bit n y n y y y
|
|
HPUX11.23-64bit n n n y y y
|
|
WinXP Visual Studio 6.0 n n n y y y
|
|
WinXP CYGWIN n n n y y y
|
|
WinXP 2005 n y n y y y
|
|
WinXP .Net n y n y y y
|
|
Mac OS X 10.4.10 n y n y y y
|
|
AIX-5.2 & 5.3 32- and 64-bit y y y y y y
|
|
FreeBSD 6.2 32- and 64-bit n n n y y y
|
|
RedHat Linux 2.4.21 W n n n y y y
|
|
SuSE Linux 2.6.9-42 i686 GNU (1) W y y y y y y
|
|
SuSE Linux 2.6.9-42 i686 Intel W n y n y y y
|
|
SuSE Linux 2.6.9-42 i686 PGI W n y n y y y
|
|
SuSE Linux 2.6.16 x86_64 GNU (1) W y y y y y y
|
|
SuSE Linux 2.6.16 x86_64 Intel W n y n y y y
|
|
SuSE Linux 2.6.16 x86_64 PGI W n y n y y y
|
|
RHEL 4 Linux 2.6.9 Xeon Lustre C y y y y y y
|
|
RedHat Linux 2.4 Xeon Lustre C n y n y y y
|
|
SuSE Linux 2.4 ia64 C y y y y y y
|
|
SuSe Linux 2.6.16 SGI Altix ia64 n y n y y y
|
|
SuSe Linux 2.6.5 SGI Altix ia64 n y n y y y
|
|
OSF1 v5.1 y y y y y n
|
|
|
|
|
|
Platform Shared static- Thread- STREAM-
|
|
libraries(4) exec safe VFD
|
|
Solaris2.8 32- and 64-bit y n y y
|
|
Solaris2.10 32- and 64-bit y n y y
|
|
IRIX64_6.5 32-bit y n y y
|
|
IRIX64_6.5 64-bit y n y y
|
|
HPUX11.23-32bit y (3) n n y
|
|
HPUX11.23-64bit y (3) n n y
|
|
WinXP Visual Studio 6.0 y n n n
|
|
WinXP CYGWIN y n n n
|
|
WinXP 2005 y n n n
|
|
WinXP .Net y n n n
|
|
Mac OS X 10.4.10 y n n y
|
|
AIX-5.2 & 5.3 32- and 64-bit n n n y
|
|
FreeBSD 6.2 32- and 64-bit y n n y
|
|
RedHat Linux 2.4.21 W y n n y
|
|
SuSE Linux 2.6.9-42 i686 GNU (1) W y n y y
|
|
SuSE Linux 2.6.9-42 i686 Intel W y n n y
|
|
SuSE Linux 2.6.9-42 i686 PGI W n n n y
|
|
SuSE Linux 2.6.16 x86_64 GNU (1) W y n n y
|
|
SuSE Linux 2.6.16 x86_64 Intel W y n n y
|
|
SuSE Linux 2.6.16 x86_64 PGI W n n n y
|
|
RHEL 4 Linux 2.6.9 Xeon Lustre C y n n y
|
|
RedHat Linux 2.4 Xeon Lustre C y n n y
|
|
SuSE Linux 2.4 ia64 C y n n y
|
|
SuSe Linux 2.6.16 SGI Altix ia64 n n n y
|
|
SuSe Linux 2.6.5 SGI Altix ia64 n n n y
|
|
OSF1 v5.1 n n n y
|
|
|
|
Compiler versions for each platform are listed in the "Platforms Tested"
|
|
table found elsewhere in this file (RELEASE.txt). Unless otherwise noted,
|
|
compilers used are the system compilers.
|
|
|
|
Footnotes:
|
|
(1) Fortran compiled with g95.
|
|
(2) In most cases, shared libraries are provided only for the C library,
|
|
except on Windows where they are provided for C, C++, and Fortran.
|
|
(3) C++ works only with static libraries.
|
|
|
|
|
|
Known Problems
|
|
==============
|
|
* QSC (an HP alpha-based OSF1 cluster) does not create h5pfc correctly. It
|
|
does not include the -lmpi properly. This will be fixed in the next
|
|
release. AKC - 2007/08/07.
|
|
|
|
* On IRIX64 6.5 (UCAR SGI mop1), when testing HDF5 tools with an HDF5 shared
|
|
library, especially for h5repacktst and h52gifgentst, the following (or
|
|
similar) error message may appear:
|
|
"523648:lt-h5repacktst: rld: Fatal Error: Cannot Successfully map soname
|
|
'libh5test.so.1' under any of the filenames .......(bunch of directories)
|
|
"
|
|
And the testing will fail.
|
|
We believe this is a libtool problem. One way to get rid of this is to
|
|
add the paths of libh5test.so.1 and libh5.so.1 to the shared library path.
|
|
|
|
For 32-bit:
|
|
You may do this, under csh:
|
|
setenv LD_LIBRARYN32_PATH .......(existing pathes):[full path of HDF5
|
|
directory/test/.libs]:[full path of HDF5 directory/src/.libs]
|
|
|
|
For 64-bit:
|
|
setenv LD_LIBRARY64_PATH ......(existing pathes):[full path of HDF5
|
|
directory/test/.libs]:[full path of HDF5 directory/src/.libs]
|
|
|
|
NOTE: This problem ONLY affects the testing of the HDF5 library when you
|
|
build from source. It won't affect any applications that would like to link
|
|
with the HDF5 shared library since the shared library path needs to be set
|
|
anyway. KY - 2007/8/2
|
|
|
|
* QSC (an HP alpha-based OSF1 cluster) failed the testpar/testphdf5 sub-test
|
|
"calloc". All other tests passed. This indicates that a dataset using
|
|
chunked storage created by serial HDF5 may not work properly with parallel
|
|
HDF5. The calloc test can be skipped by running "prun ... testphdf5 -x
|
|
calloc". AKC - 2007/7/12.
|
|
|
|
* The Intel C Compiler for the Linux x86_64 platform (EM64T-based, v8.1) has
|
|
an optimization error in the datax types conversion code. Before running
|
|
configure, edit the file config/intel-flags by changing the setting of
|
|
PROD_CFLAGS from -O3 to -O0. Then run configure. AKC - 2005/11/10.
|
|
|
|
* When testing parallel HDF5 with the C compiler version MIPSpro 7.4.3 on IRIX
|
|
6.5, set the environment variable MPI_TYPE_MAX to be a bigger number, for
|
|
example 120000, in order to pass the complicated collective IO tests inside
|
|
the parallel HDF5 library. This is not a problem inside the parallel HDF5
|
|
library. You can always set a bigger number on your system. KY - 2005/10/6
|
|
|
|
* A contiguous or chunked dataset created by a sequential version of HDF5
|
|
might not be able to be modified with a parallel version of the library.
|
|
Use the H5Pset_alloc_time function with H5D_ALLOC_TIME_EARLY to set up the
|
|
dataset creation property list to avoid the problem. EIP - 2005/09/09
|
|
|
|
* The dataset created or rewritten with the v1.6.3 library or after can't
|
|
be read with the v1.6.2 library or before when Fletcher32 EDC (a filter) is
|
|
enabled. There was a bug in the calculating code of the Fletcher32
|
|
checksum in the library before v1.6.3. The checksum value wasn't consistent
|
|
between big-endian and little-endian systems. This bug was fixed in
|
|
Release 1.6.3. However, after fixing the bug, the checksum value is no
|
|
longer the same as before on little-endian system. The library release
|
|
after 1.6.4 can still read the dataset created or rewritten with the library
|
|
of v1.6.2 or before. SLU - 2005/7/8
|
|
|
|
* For version 6 (6.02 and 6.04) of the Portland Group compiler on AMD Opteron
|
|
processor, there's a bug in the compiler for optimization(-O2). The library
|
|
failed in several tests, all related to the multi driver. The problem has
|
|
been reported to the vendor.
|
|
|
|
* test/big fails sometimes with the message "Possible overlap with another
|
|
region." The test selects regions randomly, and this error occurs when
|
|
two regions overlap each other; it is a bug in the test and not in
|
|
HDF5. Since the error is triggered by a random situation, it will
|
|
usually disappear if the test is re-run.
|
|
|
|
* Newer SGI MIPSpro compilers (version 7.4.x) support C99 features but
|
|
have a "guard" statement in stdint.h that will #error and skip the rest
|
|
of the header file if the C99 option is not used explicitly. Hardsetting
|
|
$CC to c99 will resolve the problem. AKC - 2004/12/13
|
|
|
|
* On IBM AIX systems, parallel HDF5 mode will fail some tests with error
|
|
messages like "INFO: 0031-XXX ...". This is from the command poe.
|
|
Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
|
|
and run the tests again.
|
|
|
|
The tests may also fail with messages like "The socket name is already
|
|
in use". HDF5 does not use sockets (except for stream-VFD). This is
|
|
due to problems of the poe command trying to set up the debug socket.
|
|
Check whether there are many old /tmp/s.pedb.* files staying around. These
|
|
are sockets used by the poe command and left behind due to failed commands.
|
|
Ask your system administrator to clean them out. Lastly, request IBM
|
|
to provide a means to run poe without the debug socket.
|
|
|
|
* The h5dump tests may fail to match the expected output on some platforms
|
|
(e.g. parallel jobs, Windows) where the error messages directed to
|
|
"stderr" do not appear in the "right order" with output from stdout.
|
|
This is not an error.
|
|
|
|
* The stream-vfd test uses ip port 10007 for testing. If another
|
|
application is already using that port address, the test will hang
|
|
indefinitely and has to be terminated by the kill command. To try the
|
|
test again, change the port address in test/stream_test.c to one not
|
|
being used in the host.
|
|
|
|
* The --enable-static-exec configure flag fails to compile for Solaris
|
|
platforms. This is due to the fact that not all of the system
|
|
libraries on Solaris are available in a static format.
|
|
|
|
The --enable-static-exec configure flag also fails to correctly compile
|
|
on the IBM SP2 platform for the serial mode. The parallel mode works fine
|
|
with this option.
|
|
|
|
The --enable-static-exec configure flag also fails to correctly compile
|
|
on the HPUX 11.00.
|
|
|
|
It is suggested that you don't use this option on these platforms
|
|
during configuration.
|
|
|
|
* The Stream VFD is not supported under Windows.
|
|
|
|
* Use the --disable-shared configure flag if building with Absoft Fortran
|
|
compiler.
|
|
|
|
* Information about building with PGI and Intel compilers is available in
|
|
INSTALL file sections 5.7 and 5.8.
|
|
|
|
* In LANL QSC, the new cc compiler has problems converting small values of
|
|
long long (absolute values less than 1**-308) to double. This triggers
|
|
the test/dtypes to report failure in the following test:
|
|
Testing random sw long double -> double conversions
|
|
If -ieee is used, the converted doubles spread over the range 0.0 to
|
|
10**-308. If -ieee is not used, the converted double values are mostly
|
|
0.0, but occasionally appear as 10**-308. This has been reported to the
|
|
system staff.
|
|
|
|
All other tests have passed.
|
|
|
|
* On at least one system, SDSC DataStar, the scheduler (in this case
|
|
LoadLeveler) sends job status updates to standard error when you run
|
|
any executable that was compiled with the parallel compilers.
|
|
|
|
This causes problems when running "make check" on parallel builds, as
|
|
many of the tool tests function by saving the output from test runs,
|
|
and comparing it to an exemplar.
|
|
|
|
The best solution is to reconfigure the target system so it no longer
|
|
inserts the extra text. However, this may not be practical.
|
|
|
|
In such cases, one solution is to "setenv HDF5_Make_Ignore yes" prior to
|
|
the configure and build. This will cause "make check" to continue after
|
|
detecting errors in the tool tests. However, in the case of SDSC DataStar,
|
|
it also leaves you with some 150 "failed" tests to examine by hand.
|
|
|
|
A second solution is to write a script to run serial tests and filter
|
|
out the text added by the scheduler. A sample script used on SDSC
|
|
DataStar is given below, but you will probably have to customize it
|
|
for your installation.
|
|
|
|
Observe that the basic idea is to insert the script as the first item
|
|
on the command line which executes the test. The script then
|
|
executes the test and filters out the offending text before passing
|
|
it on.
|
|
|
|
#!/bin/csh
|
|
|
|
set STDOUT_FILE=~/bin/serial_filter.stdout
|
|
set STDERR_FILE=~/bin/serial_filter.stderr
|
|
|
|
rm -f $STDOUT_FILE $STDERR_FILE
|
|
|
|
($* > $STDOUT_FILE) >& $STDERR_FILE
|
|
|
|
set RETURN_VALUE=$status
|
|
|
|
cat $STDOUT_FILE
|
|
|
|
tail +3 $STDERR_FILE
|
|
|
|
exit $RETURN_VALUE
|
|
|
|
You get the HDF5 make files and test scripts to execute your filter script
|
|
by setting the environment variable "RUNSERIAL" to the full path of the
|
|
script prior to running configure for parallel builds. Remember to
|
|
"unsetenv RUNSERIAL" before running configure for a serial build.
|
|
|
|
Note that the RUNSERIAL environment variable exists so that we can
|
|
prefix serial runs as necessary on the target system. On DataStar,
|
|
no prefix is necessary. However, on an MPICH system, the prefix might
|
|
have to be set to something like "/usr/local/mpi/bin/mpirun -np 1" to
|
|
get the serial tests to run at all.
|
|
|
|
In such cases, you will have to include the regular prefix in your
|
|
filter script. JM - 2004/9/15
|
|
|
|
|
|
%%%%1.6.5%%%% Release Information for hdf5-1.6.5 (10/November/05)
|
|
|
|
|
|
HDF5 version 1.6.5 released on Thu Nov 10 18:17:53 CST 2005
|
|
================================================================================
|
|
|
|
INTRODUCTION
|
|
============
|
|
This document describes the differences between HDF5-1.6.4 and
|
|
HDF5-1.6.5. It contains information on the platforms tested and
|
|
known problems in HDF5-1.6.5. For more details, check the HISTORY.txt
|
|
file in the HDF5 source.
|
|
|
|
The HDF5 documentation can be found on the NCSA ftp server
|
|
(ftp.ncsa.uiuc.edu) in the directory:
|
|
|
|
/HDF/HDF5/docs/
|
|
|
|
Documentation for the current release is also on the HDF web site:
|
|
|
|
http://hdf.ncsa.uiuc.edu/HDF5/doc/
|
|
|
|
For more information look at the HDF5 home page at:
|
|
|
|
http://hdf.ncsa.uiuc.edu/HDF5/
|
|
|
|
If you have any questions or comments, please send them to:
|
|
|
|
hdfhelp@ncsa.uiuc.edu
|
|
|
|
|
|
CONTENTS
|
|
========
|
|
- New Features
|
|
- Support for New Platforms, Languages and Compilers
|
|
- Bug Fixes since HDF5-1.6.4
|
|
- Documentation
|
|
- Platforms Tested
|
|
- Supported Configuration Features Summary
|
|
- Known Problems
|
|
|
|
|
|
New Features
|
|
============
|
|
Configuration:
|
|
-------------------------
|
|
- Added yodconfigure, a configure tool, that patches up the configure
|
|
file to allow configure to launch executable via the proper
|
|
launching command like "yod -sz 1". AKC - 2005/11/10
|
|
- Configure now recognizes the TR variable as the location of the
|
|
tr utility. JML 2005/10/20
|
|
|
|
Source code distribution:
|
|
-------------------------
|
|
- Added g95 as a testing "platform" informally. AKC - 2005/10/04.
|
|
- Added MD5 checksumming to snapshot releases. Releases will now
|
|
produce an .md5 file as well as a .tar archive. md5sum can be
|
|
used to verify the arvhice with the .md5 checksum. -JL 2005/09/06
|
|
|
|
Library:
|
|
--------
|
|
- Added HSYS_ERROR which retrieves the system error message and pushes
|
|
it to the error stack. This provides more information regarding the
|
|
failed system call. AKC - 2005/08/04
|
|
- Added H5F_OBJ_LOCAL flag to H5Fget_obj_count() & H5Fget_obj_ids(), to
|
|
allow querying for objects in a file that was opened with a particular
|
|
file ID, instead of all objects opened in the file with any file ID.
|
|
QAK - 2005/06/01
|
|
|
|
Parallel Library:
|
|
-----------------
|
|
- Added mpich2 as a testing "platform" informally. AKC - 2005/10/04.
|
|
- HDF5 supports collective MPI-IO for irregular selection with HDF5
|
|
dataset. Irregular selection is when users use API H5Sselect_hyperslab
|
|
more than once for the same dataset.
|
|
Currently, not all MPI-IO packages support the complicated
|
|
MPI derived datatypes used in the implementation of irregular
|
|
selections INSIDE HDF5.
|
|
1) DEC 5.x wdoes not support complicated derived datatypes.
|
|
2) For AIX 5.1:
|
|
If your poe version number is 3.2.0.20 or lower,
|
|
please edit powerpc-ibm-aix5.x in the directory hdf5/config/.
|
|
Find the line with
|
|
<< hdf5_mpi_complex_derived_datatype_works >>
|
|
and UNCOMMENT this line before the configure.
|
|
check poe version with the following command:
|
|
lpp -l all | grep ppe.poe
|
|
3) For Linux cluster,:
|
|
If mpich version is 1.2.5 or lower, collective irregular selection
|
|
IO is not supported; internally independent IO is used.
|
|
4) For IRIX 6.5:
|
|
if C compiler version is 7.3 or lower, collective irregular
|
|
selection IO is not supported; internally independent IO is used.
|
|
5) For platforms which internally used mpich:
|
|
If the mpich version is 1.2.5 or lower, please find the
|
|
corresponding config (in hdf5/config) file and add
|
|
hdf5_mpi_complex_derived_datatype_works='no'
|
|
at the end of the configuration file. For example, on the
|
|
NCSA SGI Altix, the internal mpich library is 1.2.5. So
|
|
hdf5_mpi_complex_derived_datatype_works='no'
|
|
should be added at the end of the config file ia64-linux-gnu.
|
|
KY - 2005/09/12
|
|
|
|
Tools:
|
|
------
|
|
- Removed obsolete pdb2hdf tool. JML - 2005/10/28
|
|
- Sped up h5dump on files with large numbers of objects.
|
|
QAK - 2005/08/25
|
|
|
|
F90 API:
|
|
--------
|
|
- Added missing h5tget_member_class_f function
|
|
EIP 2005/04/06
|
|
C++ API:
|
|
--------
|
|
- Added missing member functions:
|
|
H5::CompType::getMemberArrayType
|
|
H5::CompType::getMemberVarLenType
|
|
H5::AbstractDs::getArrayType
|
|
H5::AbstractDs::getVarLenType
|
|
H5::CommonFG::openArrayType
|
|
H5::CommonFG::openVarLenType
|
|
H5::PropList::copyProp -- this will replace the current
|
|
H5::PropList::copyProp in later releases due
|
|
to incorrect prototype.
|
|
BMR - 2005/07/27
|
|
|
|
|
|
Support for New Platforms, Languages and Compilers
|
|
==================================================
|
|
- Added support for RedStorm platform (serial only.) AKC 2005/11/10
|
|
- Added support for BG/L platform (serial only.) LA 2005/11/10
|
|
- Added support for HPUX 11.23 (IA64); only C and C++ are supported
|
|
with the +DD64 flag
|
|
EIP 2005/10/05
|
|
|
|
|
|
Configuration
|
|
-------------
|
|
- Added support for Cray X1. JML 2005/10/03
|
|
|
|
|
|
Bug Fixes since HDF5-1.6.4 Release
|
|
==================================
|
|
|
|
Library
|
|
-------
|
|
- Fixed collective IO in chunking-storage. HDF5 may have called the
|
|
wrong routine when the shape of the dataspace in the file and in
|
|
the bufferred chunk were different. This bug was fixed to make sure
|
|
the correct routine is called. KY - 2005/10/19
|
|
- Fixed core dump when closing root groups opened through two different
|
|
file handles that operate on the same actual file. QAK - 2005/10/02
|
|
- The ./dsets tests used to fail in the TFLOPS machine if the
|
|
test program, dsets.c, was compiled with the -O option.
|
|
The HDF5 library still worked correctly with the -O option. Only
|
|
the ./dsets failed. It is fixed. AKC - 2005/09/14
|
|
- Corrected errors when performing various operations on a group opened
|
|
by dereferencing an object reference. QAK - 2005/07/30
|
|
- Fixed a bug with named datatypes where a copy of a named datatype
|
|
used to create a dataset would accidentally use the original
|
|
named datatype for the dataset's datatype. QAK - 2005/07/23
|
|
- Made H5Fget_name() to be consistent and always return name of actual
|
|
file the ID is in. (Instead of the name of the top file in a
|
|
file mounting hierarchy). QAK - 2005/07/19
|
|
- Reworked internal file mounting semantics to hopefully eliminate
|
|
mounting problems. We now require that files that are mounting
|
|
together all have the same "file close degree". QAK - 2005/07/19
|
|
- More bug fixes on holding open files that are mounted and have
|
|
IDs open. QAK - 2005/07/14
|
|
- Dataset sieve buffer cache was inadvertantly disabled; it has been
|
|
re-enabled. QAK - 2005/07/08
|
|
- Don't unmount child files until the parent file actually closes.
|
|
(Previously, if an object was holding open a file, the child files
|
|
would get unmounted too early). QAK - 2005/07/05
|
|
- Fixed bug where unmounted files could cause the library to go into
|
|
an infinite loop when shutting down. QAK - 2005/06/30
|
|
- Fixed bug with hyperslab selections that use selection offsets and
|
|
operate on chunked datasets going into infinite loop or dumping
|
|
core. QAK - 2005/06/17
|
|
- Corrected memory leak and possible corruption when opening a group.
|
|
QAK - 2005/06/17
|
|
- Added check for opaque datatype tags being too long (check against
|
|
H5T_OPAQUE_TAG_MAX, currently set to 256). QAK - 2005/06/14
|
|
- Fixed various errors in maintaining names for open objects in the
|
|
face of unusual mount & unmount operations. QAK - 2005/06/08
|
|
- "SEMI" and "STRONG" file close degree settings now apply only to the
|
|
particular file ID being closed, instead of operating on all open
|
|
file IDs for a given file. QAK - 2005/06/01
|
|
- Fixed error in opening object in a group that was opened in a mounted
|
|
file which has been unmounted. QAK - 2005/03/17
|
|
|
|
Configuration
|
|
-------------
|
|
- Configure can recognize -lmpich as a form of MPI library. -AKC-
|
|
2005/9/28.
|
|
- Changed default C++ compiler for the IA64 platform from icc to
|
|
icpc which is the preferred compiler for Intel Compiler version
|
|
8. AKC - 2005/09/02
|
|
|
|
Performance
|
|
-------------
|
|
- Optimized I/O for enumerated datatypes that are a superset of a
|
|
source enumerated datatype. QAK - 2005/03/19
|
|
|
|
Tools
|
|
-----
|
|
|
|
Documentation
|
|
-------------
|
|
|
|
F90 API
|
|
-------
|
|
- h5pget_driver_f was returning information that could not be
|
|
interpreted by a Fortran application program; fixed. EIP - 2005/04/10
|
|
|
|
C++ API
|
|
-------
|
|
- Several member functions' prototype changed due to the
|
|
"int -> unsigned" change in the main library. They are:
|
|
H5::CompType::getMemberDataType(unsigned member_num)
|
|
H5::CompType::getMemberCompType(unsigned member_num)
|
|
H5::CompType::getMemberEnumType(unsigned member_num)
|
|
H5::CompType::getMemberIntType(unsigned member_num)
|
|
H5::CompType::getMemberFloatType(unsigned member_num)
|
|
H5::CompType::getMemberStrType(unsigned member_num)
|
|
BMR - 2005/07/27
|
|
|
|
|
|
|
|
|
|
|
|
Platforms Tested
|
|
================
|
|
|
|
AIX 5.1 (32 and 64-bit) xlc 6.0.0.6
|
|
xlf 8.1.1.3
|
|
xlC 6.0.0.6
|
|
mpcc_r 6.0.0.6
|
|
mpxlf_r 8.1.1.3
|
|
xlc 5.0.2.5
|
|
xlf 7.1.1.2
|
|
xlC 5.0.2.5
|
|
mpcc_r 5.0.2.5
|
|
mpxlf_r 7.1.1.2
|
|
AIX 5.2 (32/64 bit) xlc 6.0.0.8
|
|
xlC 6.0.0.9
|
|
xlf 8.1.1.7
|
|
mpcc_r 6.0.0.8
|
|
mpxlf_r 8.1.1.7
|
|
AIX 5.2 (32/64 bit, LLNL frost) xlc 6.0.0.8
|
|
xlC 6.0.0.8
|
|
xlf 8.1.1.7
|
|
mpcc_r 6.0.0.8
|
|
mpxlf_r 8.1.1.7
|
|
AIX 5.3 (32/64 bit) xlc 7.0.0.0
|
|
xlC 7.0.
|
|
xlf 9.1.0.3
|
|
Cray X1 water 3.0.35 Cray Standard C Version 5.4.0.7.4
|
|
Cray Fortran 5.4.0.7.3
|
|
Cray C++ 5.4.0.7.4
|
|
FreeBSD 4.11 gcc 2.95.4
|
|
g++ 2.95.4
|
|
gcc 3.2.3, 3.3.6, 3.4.4, 4.0.0
|
|
HP-UX B.11.00 HP C HP92453-01 A.11.01.20
|
|
HP F90 v2.4
|
|
HP ANSI C++ B3910B A.03.13
|
|
HP-UX B.11.23 HP aC++/ANSI C B3910B A.06.00
|
|
HP F90 v2.9
|
|
HP aC++/ANSI C B3910B A.06.00
|
|
IRIX64 6.5 (tesla -64) MIPSpro cc 7.4.2m
|
|
F90 MIPSpro 7.4.2m
|
|
C++ MIPSpro cc 7.4.2m
|
|
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1.3m
|
|
F90 MIPSpro 7.3.1.3m (64 only)
|
|
C++ MIPSpro cc 7.3.1.3m
|
|
mpt 1.6
|
|
Linux 2.4.20-28.7 gcc 2.96
|
|
(eirene, verbena) gcc 3.3.2
|
|
PGI compilers (pgcc, pgf90, pgCC)
|
|
version 5.2-1
|
|
Absoft Fortran compiler v9.0
|
|
Intel(R) C++ 32-bit Version 8.1
|
|
Intel(R) Fortran 32-bit Version 8.1
|
|
MPIch 1.2.6
|
|
Linux 2.4.21-268-smp x86_64 gcc 3.3.1 (SuSE Linux, AMD)
|
|
(mir) PGI 5.2-1 C and F90 (with k3-32)
|
|
Intel(R) C++ 32-bit Version 8.1
|
|
Intel(R) Fortran 32-bit Version 8.1
|
|
Linux 2.4.21-sgi306rp21 Altix
|
|
SMP ia64 Intel(R) C++ Version 8.1
|
|
(cobalt) Intel(R) Fortran Itanium(R) Version 8.1
|
|
SGI MPI
|
|
OSF1 V5.1 (QSC) Compaq C V6.5-011
|
|
HP Fortran V5.5A-3548
|
|
Compaq C++ V6.5-036
|
|
MPIX200_64_r13.4
|
|
OSF1 V5.1 (PSC) Compaq C V6.5-303
|
|
HP Fortran V5.5A-3548
|
|
Compaq C++ V6.5-040
|
|
SunOS 5.8 32,46 Sun WorkShop 6 update 2 C 5.3
|
|
(Solaris 2.8) Sun WorkShop 6 update 2 Fortran 90
|
|
Sun WorkShop 6 update 2 C++ 5.3
|
|
SunOS 5.9 32,64 Sun C 5.6 2004/07/15
|
|
(Solaris 2.9) Sun Fortran 95 8.0 2004/07/15
|
|
Sun C++ 5.6 2004/07/15
|
|
SunOS 5.10 Sun WorkShop 6 update 2 C 5.3
|
|
Sun WorkShop 6 update 2 Fortran 95 6.2
|
|
Sun WorkShop 6 update 2 C++ 5.3
|
|
Patch 111685-13
|
|
Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre
|
|
(tungsten) Intel(R) C++ Version 9.0
|
|
Intel(R) Fortran Compiler Version 9.0
|
|
IA-64 Linux 2.4.21.SuSE_292.til1 ia64
|
|
(NCSA tg-login) Intel(R) C++ Version 8.0
|
|
Intel(R) Fortran Compiler Version 8.0
|
|
mpich-gm-1.2.5..10-intel-r2
|
|
Windows XP MSVC++.NET
|
|
MSVC++ 6.0
|
|
Intel 8.1 C++
|
|
MAC OS X Darwin 7.5
|
|
gcc and g++ Apple Computer, Inc. GCC
|
|
version 1175, based on gcc version 3.3.2
|
|
IBM XL Fortran version 8.1
|
|
Absoft Fortran compiler v8.2
|
|
|
|
|
|
Supported Configuration Features Summary
|
|
========================================
|
|
|
|
Key: y = tested and supported
|
|
n = not supported or not tested in this release
|
|
x = not working in this release
|
|
dna = does not apply
|
|
( ) = footnote appears below second table
|
|
|
|
Platform C F90 F90 C++ zlib SZIP
|
|
parallel parallel
|
|
IBM BG/L (16) n n n n y y
|
|
Solaris2.8 64-bit y y y(1) y y y
|
|
Solaris2.8 32-bit y y y(1) y y y
|
|
Solaris2.9 64-bit y(1) y y(1) y y y
|
|
Solaris2.9 32-bit y(1) y y(1) y y y
|
|
Solaris2.10 64-bit y(1) y n y y y
|
|
Solaris2.10 32-bit y(1) y n y y y
|
|
IRIX64_6.5 64-bit y(2) y y y y y
|
|
IRIX64_6.5 32-bit y(2) n n n y y
|
|
HPUX11.00 y(1) y y y y y
|
|
HPUX11.23-32bit n y n y y y
|
|
HPUX11.23-64bit n n n y y y
|
|
OSF1 v5.1 y y y y y y
|
|
X1 y y y y y n
|
|
AIX-5.1, 5.2 & 5.3 32-bit y y y y y y
|
|
AIX-5.1, 5.2 & 5.3 64-bit y y y y y y
|
|
WinXP Visual Studio 6.0 n n(9) n y y y
|
|
WinXP .Net n n n y(8) y y
|
|
Mac OS X 10.3 n y(10) n y y y
|
|
FreeBSD 4.11 n n n y y y
|
|
RedHat 7.3 W (3) y(1) y(11) n y y y
|
|
RedHat 7.3 W Intel (3) n y n y y y
|
|
RedHat 7.3 W PGI (3) n y n y y y
|
|
RedStorm (16) n y n y y n
|
|
SuSe x86_64 gcc (3,13) n y(12) n y y y
|
|
SuSe x86_64 icc (3,13) n y(14) n y y y
|
|
Linux 2.4 Xeon C Lustre Intel (3,6) n y n y y y
|
|
Linux 2.4 SuSE ia64 C Intel (3,7) y y y y y y
|
|
Linux 2.4 SGI Altix ia64 Intel (3) y y y y y y
|
|
|
|
|
|
Platform Shared static- Thread- STREAM-
|
|
libraries(4) exec safe VFD
|
|
IBM BG/L n y n n
|
|
Solaris2.8 64-bit y x y y
|
|
Solaris2.8 32-bit y x y y
|
|
Solaris2.9 64-bit y x y y
|
|
Solaris2.9 32-bit y x y y
|
|
Solaris2.10 64-bit y x y y
|
|
Solaris2.10 32-bit y x y y
|
|
IRIX64_6.5 64-bit y y y y
|
|
IRIX64_6.5 32-bit y y y y
|
|
HPUX11.00 y x n y
|
|
HPUX11.23 y y n y
|
|
OSF1 v5.1 y y n y
|
|
X1 n y n y
|
|
AIX-5.1, 5.2 & 5.3 32-bit n y n y
|
|
AIX-5.1, 5.2 & 5.3 64-bit n y n y
|
|
WinXP Visual Studio 6.0 y y n n
|
|
WinXP .Net y y n n
|
|
Mac OS X 10.3 y y n y
|
|
FreeBSD 4.11 y y y y
|
|
RedHat 7.3 W (3) y y y y
|
|
RedHat 7.3 W Intel (3) n y n y
|
|
RedHat 7.3 W PGI (3) n y n y
|
|
RedStorm n y n y
|
|
SuSe x86_64 gcc (3,13) n y n y
|
|
SuSe x86_64 icc (3,13) y y(15) n y
|
|
Linux 2.4 Xeon C Lustre Intel (3,6) y y n y
|
|
Linux 2.4 SuSE ia64 C Intel (3,7) y y n n
|
|
Linux 2.4 SGI Altix ia64 Intel (3) y y n y
|
|
|
|
|
|
Compiler versions for each platform are listed in the "Platforms Tested"
|
|
table found elsewhere in this file (RELEASE.txt). Unless otherwise noted,
|
|
compilers used are the system compilers.
|
|
|
|
Footnotes: (1) Using mpich 1.2.6
|
|
(2) Using mpt and mpich 1.2.6.
|
|
(3) Linux 2.4 with GNU, Intel, and PGI compilers, as indicated.
|
|
W or C indicates workstation or cluster, respectively.
|
|
(4) Shared libraries are provided only for the C library,
|
|
except on Windows where they are provided for C and C++.
|
|
(5) Using mpt.
|
|
(6) Linux 2.4.21-32.0.1. Xeon cluster with ELsmp-perfctr-lustre
|
|
and Intel compilers
|
|
(7) Linux 2.4.21, SuSE_292.til1. Ia64 cluster with Intel compilers
|
|
(8) Intel 8.1
|
|
(9) One test of this release failed with Compaq Visual Fortran 6.6c.
|
|
No binary fortran release will be provided. Users should build
|
|
the library by themselves and use it at their own risk.
|
|
We recommend that users use HDF5 1.7 instead
|
|
or use Compaq Visual Fortran 6.0.
|
|
(10) IBM XLF and Absoft
|
|
(11) PGI, Absoft. No shared libraries with Absoft;
|
|
use '--disable-shared'.
|
|
(12) PGI and Intel compilers for both C and Fortran
|
|
(13) AMD Opteron x86_64
|
|
(14) ifort
|
|
(15) Yes with C and Fortran, but not with C++
|
|
(16) Only serial is ported. PFS does not work for PHDF5 yet.
|
|
FMB/EIP - 2005/11/10
|
|
|
|
|
|
Known Problems
|
|
==============
|
|
* Intel Compilers for Linux x86_86 platforms (EM64T-based, v8.1) has
|
|
optimization error in the data types conversion code. Before running
|
|
configure, edit the file config/intel-flags by changing the setting of
|
|
PROD_CFLAGS from -O3 to -O0, then run configure. AKC - 2005/11/10.
|
|
|
|
* Fortran testing and compiling failures on windows XP
|
|
1. Compaq visual fortran 6.6c with VS 6.0
|
|
The Fortran tests failed for both release, release dll, debug and debug
|
|
dll. The failure is a random one. We won't provide fortran libraries. The
|
|
same test passed with the 1.7.51 snapshot. You may find the 1.7.51
|
|
snapshot under ftp://hdf.ncsa.uiuc.edu/pub/outgoing/hdf5/snapshots/.
|
|
2. Intel fortran 8.1 under .Net environment
|
|
The fortran library cannot even be compiled. Some users have pointed this
|
|
to intel forum.
|
|
|
|
* When testing parallel HDF5 with the C compiler version MIPSpro 7.4.3 at IRIX
|
|
6.5, set enviroment variable MPI_TYPE_MAX to be a bigger number, for example
|
|
120000, in order to pass the complicated collective IO tests inside parallel
|
|
HDF5 library. This is not a problem inside parallel HDF5 library. You can
|
|
always set a bigger number in your system.
|
|
KY - 2005/10/6
|
|
|
|
* A contiguous or chunked dataset created by a sequential version may
|
|
not be modified with a parallel version of the library.
|
|
Use the H5Pset_alloc_time function with H5D_ALLOC_TIME_EARLY to set up the
|
|
dataset creation property list to avoid the problem.
|
|
EIP - 2005/09/09
|
|
|
|
* The dataset created or rewritten with the v1.6.3 library or after can't
|
|
be read with the v1.6.2 library or before when Fletcher32 EDC(filter) is
|
|
enabled. There was a bug in the calculating code of the Fletcher32
|
|
checksum in the library before v1.6.3. The checksum value wasn't consistent
|
|
between big-endian and little-endian systems. This bug was fixed in
|
|
Release 1.6.3. However, after fixing the bug, the checksum value is no
|
|
longer the same as before on little-endian system. The library release
|
|
after 1.6.4 can still read the dataset created or rewritten with the library
|
|
of v1.6.2 or before. SLU - 2005/7/8
|
|
|
|
* For version 6 (6.02 and 6.04) of the Portland Group compiler on AMD Opteron
|
|
processor, there's a bug in the compiler for optimization(-O2). The library
|
|
failed in several tests but all related to multi driver. The problem has
|
|
been reported to the vendor.
|
|
|
|
* test/big fails sometimes with the message "Possible overlap with another
|
|
region." The test selects regions randomly, and this error occurs when
|
|
two regions overlap each other; it is a bug in the test and not in
|
|
HDF5. Since the error is triggered by a random situation, it will
|
|
usually disappear if the test is re-run.
|
|
|
|
* Newer SGI MIPSpro compilers (version 7.4.x) support C99 features but it
|
|
has a "guard" statement in stdint.h that will #error and skip the rest
|
|
of the header file if C99 option is not used explicitly. Hardset
|
|
$CC to c99 will resolve the problem. AKC - 2004/12/13
|
|
|
|
* On IBM AIX systems, parallel HDF5 mode will fail some tests with error
|
|
messages like "INFO: 0031-XXX ...". This is from the command poe.
|
|
Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
|
|
and run the tests again.
|
|
The tests may fail with messages like "The socket name is already
|
|
in use". HDF5 does not use sockets (except for stream-VFD). This is
|
|
due to problems of the poe command trying to set up the debug socket.
|
|
Check if there are many old /tmp/s.pedb.* staying around. These are
|
|
sockets used by the poe command and left behind due to failed commands.
|
|
Ask your system administrator to clean them out. Lastly, request IBM
|
|
to provide a means to run poe without the debug socket.
|
|
|
|
* Two h5dump xml tests(h5dump --xml thlink.h5 and h5dump --xml tmany.h5)
|
|
failed on windows xp with .NET for debug and debug dll. Release and
|
|
Release dll work fine.
|
|
|
|
* The h5dump tests may fail to match the expected output on some platforms
|
|
(e.g. parallel jobs, Windows) where the error messages directed to
|
|
"stderr" do not appear in the "right order" with output from stdout.
|
|
This is not an error.
|
|
|
|
* The stream-vfd test uses ip port 10007 for testing. If another
|
|
application is already using that port address, the test will hang
|
|
indefinitely and has to be terminated by the kill command. To try the
|
|
test again, change the port address in test/stream_test.c to one not
|
|
being used in the host.
|
|
|
|
* The --enable-static-exec configure flag fails to compile for Solaris
|
|
platforms. This is due to the fact that not all of the system
|
|
libraries on Solaris are available in a static format.
|
|
|
|
The --enable-static-exec configure flag also fails to correctly compile
|
|
on IBM SP2 platform for the serial mode. The parallel mode works fine
|
|
with this option.
|
|
|
|
The --enable-static-exec configure flag also fails to correctly compile
|
|
on the HPUX 11.00.
|
|
|
|
It is suggested that you don't use this option on these platforms
|
|
during configuration.
|
|
|
|
* The Stream VFD was not tested yet under Windows.
|
|
|
|
|
|
* Before building HDF5 F90 Library from source on Crays
|
|
replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src
|
|
subdirectory in the top level directory with the Cray-specific files
|
|
from the site:
|
|
ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/src/patches/
|
|
|
|
* Use --disable-shared configure flag if building with Absoft Fortran
|
|
compiler.
|
|
|
|
* Information about building with PGI and Intel compilers is available in
|
|
INSTALL file sections 5.7 and 5.8.
|
|
|
|
* In LANL QSC, the new cc compiler has problems converting small values of
|
|
long long (absolute values less than 1**-308) to double. This triggers
|
|
the test/dtypes to report failure in the
|
|
Testing random sw long double -> double conversions
|
|
If -ieee is used, the converted doubles spread over the range 0.0 to 1**-308.
|
|
If -ieee is not used, the converted double values are mostly 0.0 but
|
|
occasionally as 1**-308. This has been reported to the system staff.
|
|
All other tests have passed.
|
|
|
|
* Fortran release DLL randomly failed with Compaq Visual Fortran 6.6c on
|
|
Windows.
|
|
|
|
* Fortran DLL built with Intel 8.1 in .NET environment crushed the compiler,
|
|
Building Fortran static library with Intel 8.1 in .NET environment
|
|
requires manually setting the project file.
|
|
Please contact to hdfhelp@ncsa.uiuc.edu if you need to build
|
|
Fortran static library with Intel 8.1 with .NET environment.
|
|
|
|
* On at least one system, SDSC DataStar, the scheduler (in this case
|
|
LoadLeveler) sends job status updates to standard error when you run
|
|
any executable that was compiled with the parallel compilers.
|
|
|
|
This causes problems when running "make check" on parallel builds, as
|
|
many of the tool tests function by saving the output from test runs,
|
|
and comparing it to an exemplar.
|
|
|
|
The best solution is to reconfigure the target system so it no longer
|
|
inserts the extra text. However, this may not be practical.
|
|
|
|
In such cases, one solution is to "setenv HDF5_Make_Ignore yes" prior to
|
|
the configure and build. This will cause "make check" to continue after
|
|
detecting errors in the tool tests. However, in the case of SDSC DataStar,
|
|
it also leaves you with some 150 "failed" tests to examine by hand.
|
|
|
|
A second solution is to write a script to run serial tests and filter
|
|
out the text added by the scheduler. A sample script used on SDSC
|
|
DataStar is given below, but you will probably have to customize it
|
|
for your installation.
|
|
|
|
Observe that the basic idea is to insert the script as the first item
|
|
on the command line which executes the test. The script then
|
|
executes the test and filters out the offending text before passing
|
|
it on.
|
|
|
|
#!/bin/csh
|
|
|
|
set STDOUT_FILE=~/bin/serial_filter.stdout
|
|
set STDERR_FILE=~/bin/serial_filter.stderr
|
|
|
|
rm -f $STDOUT_FILE $STDERR_FILE
|
|
|
|
($* > $STDOUT_FILE) >& $STDERR_FILE
|
|
|
|
set RETURN_VALUE=$status
|
|
|
|
cat $STDOUT_FILE
|
|
|
|
tail +3 $STDERR_FILE
|
|
|
|
exit $RETURN_VALUE
|
|
|
|
You get the HDF make files and test scripts to execute your filter script
|
|
by setting the environment variable "RUNSERIAL" to the full path of the
|
|
script prior to running configure for parallel builds. Remember to
|
|
"unsetenv RUNSERIAL" before running configure for a serial build.
|
|
|
|
Note that the RUNSERIAL environment variable exists so that we can
|
|
prefix serial runs as necessary on the target system. On DataStar,
|
|
no prefix is necessary. However, on an MPICH system, the prefix might
|
|
have to be set to something like "/usr/local/mpi/bin/mpirun -np 1" to
|
|
get the serial tests to run at all.
|
|
|
|
In such cases, you will have to include the regular prefix in your
|
|
filter script.
|
|
|
|
%%%%1.6.4%%%% Release Information for hdf5-1.6.4 (15/March/05)
|
|
|
|
|
|
HDF5 version 1.6.4 released on Tue Mar 15 20:38:48 CST 2005
|
|
================================================================================
|
|
|
|
INTRODUCTION
|
|
============
|
|
This document describes the differences between HDF5-1.6.3 and
|
|
HDF5-1.6.4, and contains information on the platforms tested and
|
|
known problems in HDF5-1.6.4. For more details check the HISTORY.txt
|
|
file in the HDF5 source.
|
|
|
|
The HDF5 documentation can be found on the NCSA ftp server
|
|
(ftp.ncsa.uiuc.edu) in the directory:
|
|
|
|
/HDF/HDF5/docs/
|
|
|
|
For more information look at the HDF5 home page at:
|
|
|
|
http://hdf.ncsa.uiuc.edu/HDF5/
|
|
|
|
If you have any questions or comments, please send them to:
|
|
|
|
hdfhelp@ncsa.uiuc.edu
|
|
|
|
|
|
CONTENTS
|
|
========
|
|
- New Features
|
|
- Support for new platforms and languages
|
|
- Bug Fixes since HDF5-1.6.3
|
|
- Documentation
|
|
- Platforms Tested
|
|
- Supported Configuration Features Summary
|
|
- Known Problems
|
|
|
|
|
|
New Features
|
|
============
|
|
Source code distribution:
|
|
-------------------------
|
|
|
|
The High-Level (HL) C APIs were added to the source code distribution.
|
|
For HL documentation, see
|
|
http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5hl.html.
|
|
|
|
The HL library, libhdf5_hl.a(so), is built and installed by default.
|
|
Use --disable-hl configure flag to disable the HL library.
|
|
|
|
Library:
|
|
--------
|
|
- We recommend you to use SZIP v2.0 with this release.
|
|
For more information see
|
|
http://hdf.ncsa.uiuc.edu/doc_resource/SZIP/
|
|
- The compound datatype has been enhanced with a new feature of size
|
|
adjustment. The size can be increased and decreased (without
|
|
cutting the last member). No API change is involved. SLU -
|
|
2004/10/1
|
|
- Removed PABLO support. 2005/01/20 EIP
|
|
|
|
Parallel Library:
|
|
-----------------
|
|
- Allow compressed, chunked datasets to be read in parallel.
|
|
QAK - 2004/10/04
|
|
|
|
Tools:
|
|
------
|
|
- New tool, h5jam. See HDF5 Reference Manual. 2004/10/08
|
|
|
|
F90 API:
|
|
--------
|
|
No new features in this release.
|
|
|
|
C++ API:
|
|
--------
|
|
- Started using C library's reference counting in place of the class
|
|
RefCounter, which existed before the C mechanism was available.
|
|
As a result, RefCounter has been removed. 2005/03/12 BMR
|
|
|
|
|
|
Support for new platforms, languages and compilers.
|
|
=======================================
|
|
|
|
Configuration
|
|
-------------
|
|
- Upgraded from GNU autoconf 2.53 to autoconf 2.59. JML - 2005/01/31
|
|
|
|
|
|
Bug Fixes since HDF5-1.6.3 release
|
|
==================================
|
|
|
|
Library
|
|
-------
|
|
- Fixed a racing condition in MPIPOSIX virtual file drive close
|
|
function. Now all processes must completed the close before any
|
|
of them is returned. This prevents some "faster" processes start
|
|
accessing the file for another purpose (e.g., open with truncate)
|
|
while other "slower" processes have not closed the same file with
|
|
the previous purpose. AKC - 2005/03/01
|
|
- H5Tget_member_value calls for enum datatype didn't return correct
|
|
value if H5Tenum_valueof was called first. It's fixed. SLU -
|
|
2005/02/08
|
|
- For variable-length string, H5Tget_class returned H5T_STRING as its
|
|
class. But H5Tdetect_class and H5Tget_member_class considered it
|
|
as H5T_VLEN. This is fixed to let all these 3 functions treat it
|
|
as H5T_STRING. SLU - 2005/02/08
|
|
- The byte order of all 1-byte integer types was fixed as
|
|
little-endian even on a big-endian machine. It's corrected.
|
|
SLU - 2005/02/07
|
|
- Fixed segmentation fault when calling H5Fflush with an attribute that
|
|
hasn't had a value written to it open. QAK - 2004/10/18
|
|
- Backed out support for bitfield and time types in H5Tget_native_type.
|
|
Leave it to future support. The function simply returns error
|
|
message of "not support" for bitfield and time types. SLU - 2004/10/5
|
|
- Fixed address check in Core VFL driver to avoid spurious address/size
|
|
overflows for odd valued addresses and/or sizes. QAK - 2004/09/27
|
|
- Fixed problem where chunked datasets were not able to be deleted
|
|
from a file under certain circumstances. QAK - 2004/09/27/
|
|
|
|
Configuration
|
|
-------------
|
|
- IRIX64 MIPSpro compiler of 7.4.x supports C99 features. Default
|
|
to use the 'c99' compiler if available. AKC - 2004/12/13
|
|
- Intel v8.0 compiler would infinite loop when compiling some test
|
|
code with -O3 option. Changed enable-production default compiler
|
|
option to -O2. AKC - 2004/12/06
|
|
- Long double is assumed to be a supported C data type. It is a
|
|
standard C89 type. AKC - 2004/10/22
|
|
|
|
Performance
|
|
-------------
|
|
Many changes were made to the library to improve performance,
|
|
especially for the variable-length datatypes and metadata cache.
|
|
|
|
Tools
|
|
-----
|
|
- h5fc and h5c++ work correctly when -c compiler flag
|
|
is used. EIP - 2005/03/14
|
|
- Fixed h5dump to print attributes data in ASCII if -r option is used.
|
|
AKC - 2004/11/18
|
|
- Fixed space utilization reported in h5ls to correct error
|
|
in formula used. QAK - 2004/10/22
|
|
|
|
Documentation
|
|
-------------
|
|
|
|
F90 API
|
|
-------
|
|
- On windows, previously Fortran DLL built and tested failed.
|
|
Now Fortran DLL has been built and tested successfully
|
|
with Dec Fortran 6.6c or Dec Fortran 6.0.
|
|
|
|
C++ API
|
|
-------
|
|
|
|
|
|
Documentation
|
|
=============
|
|
|
|
HDF5 Library documentation
|
|
--------------------------
|
|
No substantive changes to the structure or types of content in the
|
|
HDF5 Library documentation.
|
|
|
|
Windows installation documentation
|
|
----------------------------------
|
|
1. On Windows zlib has been updated to 1.2.2. You may find the binary at
|
|
either http://www.zlib.net/zlib122-dll.zip or
|
|
ftp://hdf.ncsa.uiuc.edu/lib-external/zlib/bin/windows
|
|
|
|
2. Only DLLs of external libraries (zlib and szip) are linked with the
|
|
HDF5 Library. We will no longer provide binary to link static library
|
|
with HDF5. For details, please check INSTALL_Windows in this directory.
|
|
|
|
|
|
Platforms Tested
|
|
================
|
|
|
|
AIX 5.1 (32 and 64-bit) xlc 6.0.0.6
|
|
xlf 8.1.1.3
|
|
xlC 6.0.0.6
|
|
mpcc_r 6.0.0.6
|
|
mpxlf_r 8.1.1.3
|
|
xlc 5.0.2.5
|
|
xlf 7.1.1.2
|
|
xlC 5.0.2.5
|
|
mpcc_r 5.0.2.5
|
|
mpxlf_r 7.1.1.2
|
|
AIX 5.2 (32/64 bit) xlc 6.0.0.8
|
|
xlC 6.0.0.9
|
|
xlf 8.1.1.7
|
|
mpcc_r 6.0.0.8
|
|
mpxlf_r 8.1.1.7
|
|
AIX 5.2 (32/64 bit, LLNL frost) xlc 6.0.0.8
|
|
xlC 6.0.0.8
|
|
xlf 8.1.1.7
|
|
mpcc_r 6.0.0.8
|
|
mpxlf_r 8.1.1.7
|
|
Cray T90 sn7001 10.0.0md Cray Standard C Version 6.4.0.3
|
|
Cray Fortran Version 3.4.0.0
|
|
Cray SV1 sn9617 10.0.1.2 Cray Standard C Version 6.6.0.3.6
|
|
Cray Fortran Version 3.6.0.3.1
|
|
FreeBSD 4.9 gcc 2.95.4
|
|
g++ 2.95.4
|
|
gcc 3.2.3, 3.3.6, 3.4.4, 4.0.0
|
|
HP-UX B.11.00 HP C HP92453-01 A.11.01.20
|
|
HP F90 v2.4
|
|
HP ANSI C++ B3910B A.03.13
|
|
MPIch 1.2.4
|
|
IRIX64 6.5 (tesla -64) MIPSpro cc 7.4.2m
|
|
F90 MIPSpro 7.4.2m
|
|
C++ MIPSpro cc 7.4.2m
|
|
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1.3m
|
|
F90 MIPSpro 7.3.1.3m (64 only)
|
|
C++ MIPSpro cc 7.3.1.3m
|
|
mpt 1.6
|
|
Linux 2.4.20-28.7 gcc 2.96
|
|
(eirene, verbena) gcc 3.3.2
|
|
PGI compilers (pgcc, pgf90, pgCC)
|
|
version 5.2-1
|
|
Absoft Fortran compiler v9.0
|
|
Intel(R) C++ 32-bit Version 8.1
|
|
Intel(R) Fortran 32-bit Version 8.1
|
|
MPIch 1.2.6
|
|
Linux 2.4.21-268-smp x86_64 gcc 3.3.1 (SuSE Linux, AMD)
|
|
(mir) PGI 5.2-1 C and F90 (with k3-32)
|
|
Intel(R) C++ 32-bit Version 8.1
|
|
Intel(R) Fortran 32-bit Version 8.1
|
|
Linux 2.4.21-sgi303r2 Altix
|
|
SMP ia64 Intel(R) C++ Version 8.1
|
|
(cobalt) Intel(R) Fortran Itanium(R) Version 8.1
|
|
SGI MPI
|
|
OSF1 V5.1 (QSC) Compaq C V6.5-011
|
|
HP Fortran V5.5A-3548
|
|
Compaq C++ V6.5-036
|
|
MPIX200_64_r13.4
|
|
OSF1 V5.1 (PSC) Compaq C V6.5-303
|
|
HP Fortran V5.5A-3548
|
|
Compaq C++ V6.5-040
|
|
MPIX200_64_r13.4
|
|
FORTRAN 90 2.0 Patch 107356-04
|
|
SunOS 5.8 32,46 Sun WorkShop 6 update 2 C 5.3
|
|
(Solaris 2.8) Sun WorkShop 6 update 2 Fortran 90
|
|
Sun WorkShop 6 update 2 C++ 5.3
|
|
SunOS 5.9 32,64 Sun C 5.6 2004/07/15
|
|
(Solaris 2.9) Sun Fortran 95 8.0 2004/07/15
|
|
Sun C++ 5.6 2004/07/15
|
|
TFLOPS r1.0.4 v4.5.2 i386 pgcc Rel 3.1-4i with mpich-1.2.4 with
|
|
local modifications
|
|
Xeon Linux 2.4.20-31.9smp_perfctr_lustre
|
|
(tungsten) Intel(R) C++ Version 8.0
|
|
Intel(R) Fortran Compiler Version 8.0
|
|
IA-64 Linux 2.4.21.SuSE_128.bef1 ia64
|
|
(NCSA tg-login) Intel(R) C++ Version 8.0
|
|
Intel(R) Fortran Compiler Version 8.0
|
|
mpich-gm-1.2.5..intel
|
|
Windows XP MSVC++.NET
|
|
MSVC++ 6.0
|
|
Compaq Visual Fortran 6.6C
|
|
Intel 8.1 C++
|
|
MAC OS X Darwin 7.5
|
|
gcc and g++ Apple Computer, Inc. GCC
|
|
version 1175, based on gcc version 3.3.2
|
|
IBM XL Fortran version 8.1
|
|
Absoft Fortran compiler v8.2
|
|
|
|
|
|
Supported Configuration Features Summary
|
|
========================================
|
|
|
|
Key: y = tested and supported
|
|
n = not supported or not tested in this release
|
|
x = not working in this release
|
|
dna = does not apply
|
|
( ) = footnote appears below second table
|
|
|
|
Platform C F90 F90 C++ zlib SZIP
|
|
parallel parallel
|
|
Solaris2.8 64-bit y y y(1) y y y
|
|
Solaris2.8 32-bit y y y(1) y y y
|
|
Solaris2.9 64-bit y(1) y y(1) y y y
|
|
Solaris2.9 32-bit y(1) y y(1) y y y
|
|
IRIX64_6.5 64-bit y(2) y y y y y
|
|
IRIX64_6.5 32-bit y(2) n n n y y
|
|
HPUX11.00 y(1) y y y y y
|
|
OSF1 v5.1 y y y y y y
|
|
T90 IEEE n y n n y n
|
|
SV1 y(5) y y(5) n y n
|
|
TFLOPS y(1) n n n y n
|
|
AIX-5.1 & 5.2 32-bit y y y y y y
|
|
AIX-5.1 & 5.2 64-bit y y y y y y
|
|
WinXP Visual Studio 6.0 n y(9) n y y y
|
|
WinXP .Net n n n y(8) y y
|
|
Mac OS X 10.3 n y(10) n y y y
|
|
FreeBSD 4.9 y(1) n n y y y
|
|
RedHat 7.3 W (3) y(1) y(11) n y y y
|
|
RedHat 7.3 W Intel (3) n y n y y y
|
|
RedHat 7.3 W PGI (3) n y n y y y
|
|
SuSe x86_64 gcc (3,13) n y(12) n y y y
|
|
SuSe x86_64 icc (3,13) n y(14) n y y y
|
|
Linux 2.4 Xeon C Lustre Intel (3,6) n y n y y y
|
|
Linux 2.4 SuSE ia64 C Intel (3,7) y y y y y y
|
|
Linux 2.4 SGI Altix ia64 Intel (3) y y y y y y
|
|
|
|
|
|
Platform Shared static- Thread- STREAM-
|
|
libraries(4) exec safe VFD
|
|
Solaris2.8 64-bit y x y y
|
|
Solaris2.8 32-bit y x y y
|
|
Solaris2.9 64-bit y x y y
|
|
Solaris2.9 32-bit y x y y
|
|
IRIX64_6.5 64-bit y y y y
|
|
IRIX64_6.5 32-bit y y y y
|
|
HPUX11.00 y x n y
|
|
OSF1 v5.1 y y n y
|
|
T90 IEEE n y n y
|
|
SV1 n y n y
|
|
TFLOPS n y n n
|
|
AIX-5.1 & 5.2 32-bit n y n y
|
|
AIX-5.1 & 5.2 64-bit n y n y
|
|
WinXP Visual Studio 6.0 y y n n
|
|
WinXP .Net y y n n
|
|
Mac OS X 10.3 y y n y
|
|
FreeBSD 4.9 y y y y
|
|
RedHat 7.3 W (3) y y y y
|
|
RedHat 7.3 W Intel (3) n y n y
|
|
RedHat 7.3 W PGI (3) n y n y
|
|
SuSe x86_64 gcc (3,13) n y n y
|
|
SuSe x86_64 icc (3,13) y y(15) n y
|
|
Linux 2.4 Xeon C Lustre Intel (3,6) y y n y
|
|
Linux 2.4 SuSE ia64 C Intel (3,7) y y n n
|
|
Linux 2.4 SGI Altix ia64 Intel (3) y y n y
|
|
|
|
|
|
Compiler versions for each platform are listed in the "Platforms Tested"
|
|
table found elsewhere in this file (RELEASE.txt). Unless otherwise noted,
|
|
compilers used are the system compilers.
|
|
|
|
Footnotes: (1) Using mpich 1.2.6
|
|
(2) Using mpt and mpich 1.2.6.
|
|
(3) Linux 2.4 with GNU, Intel, and PGI compilers, as indicated.
|
|
W or C indicates workstation or cluster, respectively.
|
|
(4) Shared libraries are provided only for the C library,
|
|
except on Windows where they are provided for C and C++.
|
|
(5) Using mpt.
|
|
(6) Linux 2.4.20-31.9. Xeon cluster with smp_perfctr_lustre
|
|
and Intel compilers
|
|
(7) Linux 2.4.21, SuSE_128.befl. Ia64 cluster with Intel compilers
|
|
(8) Intel 8.1
|
|
(9) Compaq Visual Fortran 6.6C
|
|
(10) IBM XLF and Absoft
|
|
(11) PGI, Absoft. No shared libraries with Absoft;
|
|
use '--disable-shared'.
|
|
(12) PGI and Intel compilers for both C and Fortran
|
|
(13) AMD Opteron x86_64
|
|
(14) ifort
|
|
(15) Yes with C and Fortran, but not with C++
|
|
FMB/EIP - 2005/03/15
|
|
|
|
|
|
Known Problems
|
|
==============
|
|
* test/big fails sometimes with the message "Possible overlap with another
|
|
region." The test selects regions randomly, and this error occurs when
|
|
two regions overlap each other; it is an bug in the test and not in
|
|
HDF5. Since the error is triggered by a random situation, it will
|
|
usually disappear if the test is re-run.
|
|
|
|
* Cray SV1 fails to correctly convert between floating-point and "long double"
|
|
for software conversion. Problem is being investigated. SLU - 2005/03/04
|
|
|
|
* Newer SGI MIPSpro compilers (version 7.4.x) support C99 features but it
|
|
has a "guard" statement in stdint.h that will #error and skip the rest
|
|
of the header file if C99 option is not used explicitly. Hardset
|
|
$CC to c99 will resolve the problem. AKC - 2004/12/13
|
|
|
|
* On IBM AIX systems, parallel HDF5 mode will fail some tests with error
|
|
messages like "INFO: 0031-XXX ...". This is from the command poe.
|
|
Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
|
|
and run the tests again.
|
|
The tests may fail with messages like "The socket name is already
|
|
in use". HDF5 does not use sockets (except for stream-VFD). This is
|
|
due to problems of the poe command trying to set up the debug socket.
|
|
Check if there are many old /tmp/s.pedb.* staying around. These are
|
|
sockets used by the poe command and left behind due to failed commands.
|
|
Ask your system administrator to clean them out. Lastly, request IBM
|
|
to provide a mean to run poe without the debug socket.
|
|
|
|
* Fortran subroutine h5pget_driver_f doesn't return a correct driver
|
|
information.
|
|
|
|
* There are two h5dump xml tests(h5dump --xml thlink.h5 and
|
|
h5dump --xml tmany.h5) failed on windows xp with .NET for debug and
|
|
debug dll. Release and Release dll work fine.
|
|
|
|
* The h5dump tests may fail to match the expected output on some platforms
|
|
(e.g. parallel jobs, Windows) where the error messages directed to
|
|
"stderr" do not appear in the "right order" with output from stdout.
|
|
This is not an error.
|
|
|
|
* The stream-vfd test uses ip port 10007 for testing. If another
|
|
application is already using that port address, the test will hang
|
|
indefinitely and has to be terminated by the kill command. To try the
|
|
test again, change the port address in test/stream_test.c to one not
|
|
being used in the host.
|
|
|
|
* The --enable-static-exec configure flag fails to compile for Solaris
|
|
platforms. This is due to the fact that not all of the system
|
|
libraries on Solaris are available in a static format.
|
|
|
|
The --enable-static-exec configure flag also fails to correctly compile
|
|
on IBM SP2 platform for the serial mode. The parallel mode works fine
|
|
with this option.
|
|
|
|
It is suggested that you don't use this option on these platforms
|
|
during configuration.
|
|
|
|
* The Stream VFD was not tested yet under Windows. It is not supported
|
|
in the TFLOPS machine.
|
|
|
|
* The ./dsets tests failed in the TFLOPS machine if the test program,
|
|
dsets.c, is compiled with the -O option. The hdf5 library still works
|
|
correctly with the -O option. The test program works fine if it is
|
|
compiled with -O1 or -O0. Only -O (same as -O2) causes the test
|
|
program to fail.
|
|
|
|
* Certain platforms give false negatives when testing h5ls:
|
|
- Cray T90IEEE give errors during testing when displaying
|
|
some floating-point values. These are benign differences due to
|
|
the different precision in the values displayed.
|
|
h5ls appears to be dumping floating-point numbers correctly.
|
|
|
|
* Before building HDF5 F90 Library from source on Crays
|
|
replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src
|
|
subdirectory in the top level directory with the Cray-specific files
|
|
from the site:
|
|
ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/src/patches/
|
|
|
|
* On some platforms that use Intel and Absoft compilers to build HDF5 fortran
|
|
library, compilation may fail for fortranlib_test.f90, fflush1.f90 and
|
|
fflush2.f90 complaining about exit subroutine. Comment out the line
|
|
IF (total_error .ne. 0) CALL exit (total_error)
|
|
|
|
* Use --disable-shared configure flag if building with Absoft Fortran
|
|
compiler
|
|
|
|
* Information about building with PGI and Intel compilers is available in
|
|
INSTALL file sections 5.7 and 5.8
|
|
|
|
* In LANL QSC, the new cc compiler has problems converting small values of
|
|
long long (absolute values less than 1**-308) to double. This triggers
|
|
the test/dtypes to report failure in the
|
|
Testing random sw long double -> double conversions
|
|
If -ieee is used, the converted doubles spread over the range 0.0 to 1**-308.
|
|
If -ieee is not used, the converted double values are mostly 0.0 but
|
|
occasionally as 1**-308. This has been reported to the system staff.
|
|
All other tests have passed.
|
|
|
|
* The C++ library's tests fails when compiling with PGI C++ compiler. The
|
|
workaround until the problem is correctly handled is to use the
|
|
flag "--instantiate=local" prior to the configure and build steps, as:
|
|
setenv CXX "pgCC --instantiate=local" for pgCC 5.02 and higher
|
|
setenv CXX "pgCC -tlocal" for others
|
|
|
|
* Fortran release DLL randomly failed with compaq visual fortran 6.6c on
|
|
windows.
|
|
|
|
* Fortran DLL built with Intel 8.1 in .NET environment crushed the compiler,
|
|
To build Fortran Static library with Intel 8.1 in .NET environment
|
|
needs manually setting the project file,
|
|
please contact to hdfhelp@ncsa.uiuc.edu if you need to build
|
|
fortran static library with Intel 8.1 with .NET environment.
|
|
|
|
* On at least one system, (SDSC DataStar), the scheduler (in this case
|
|
LoadLeveler) sends job status updates to standard error when you run
|
|
any executable that was compiled with the parallel compilers.
|
|
|
|
This causes problems when running "make check" on parallel builds, as
|
|
many of the tool tests function by saving the output from test runs,
|
|
and comparing it to an exemplar.
|
|
|
|
The best solution is to reconfigure the target system so it no longer
|
|
inserts the extra text. However, this may not be practical.
|
|
|
|
In such cases, one solution is to "setenv HDF5_Make_Ignore yes" prior to
|
|
the configure and build. This will cause "make check" to continue after
|
|
detecting errors in the tool tests. However, in the case of SDSC DataStar,
|
|
it also leaves you with some 150 "failed" tests to examine by hand.
|
|
|
|
A second solution is to write a script to run serial tests and filter
|
|
out the text added by the scheduler. A sample script used on SDSC
|
|
DataStar is given below, but you will probably have to customize it
|
|
for your installation.
|
|
|
|
Observe that the basic idea is to insert the script as the first item
|
|
on the command line which executes the test. The script then
|
|
executes the test and filters out the offending text before passing
|
|
it on.
|
|
|
|
#!/bin/csh
|
|
|
|
set STDOUT_FILE=~/bin/serial_filter.stdout
|
|
set STDERR_FILE=~/bin/serial_filter.stderr
|
|
|
|
rm -f $STDOUT_FILE $STDERR_FILE
|
|
|
|
($* > $STDOUT_FILE) >& $STDERR_FILE
|
|
|
|
set RETURN_VALUE=$status
|
|
|
|
cat $STDOUT_FILE
|
|
|
|
tail +3 $STDERR_FILE
|
|
|
|
exit $RETURN_VALUE
|
|
|
|
You get the HDF make files and test scripts to execute your filter script
|
|
by setting the environment variable "RUNSERIAL" to the full path of the
|
|
script prior to running configure for parallel builds. Remember to
|
|
"unsetenv RUNSERIAL" before running configure for a serial build.
|
|
|
|
Note that the RUNSERIAL environment variable exists so that we can
|
|
can prefix serial runs as necessary on the target system. On DataStar,
|
|
no prefix is necessary. However on an MPICH system, the prefix might
|
|
have to be set to something like "/usr/local/mpi/bin/mpirun -np 1" to
|
|
get the serial tests to run at all.
|
|
|
|
In such cases, you will have to include the regular prefix in your
|
|
filter script.
|
|
|
|
|
|
%%%%1.6.3%%%% Release Information for hdf5-1.6.3 (22/September/04)
|
|
|
|
HDF5 version 1.6.3 released on Wed Sep 22 11:30:11 CDT 2004
|
|
================================================================================
|
|
|
|
|
|
INTRODUCTION
|
|
|
|
This document describes the differences between HDF5-1.6.2 and
|
|
HDF5-1.6.3, and contains information on the platforms tested and
|
|
known problems in HDF5-1.6.3. For more details check the HISTORY.txt
|
|
file in the HDF5 source.
|
|
|
|
The HDF5 documentation can be found on the NCSA ftp server
|
|
(ftp.ncsa.uiuc.edu) in the directory:
|
|
|
|
/HDF/HDF5/docs/
|
|
|
|
For more information look at the HDF5 home page at:
|
|
|
|
http://hdf.ncsa.uiuc.edu/HDF5/
|
|
|
|
If you have any questions or comments, please send them to:
|
|
|
|
hdfhelp@ncsa.uiuc.edu
|
|
|
|
CONTENTS
|
|
|
|
- New Features
|
|
- Support for new platforms and languages
|
|
- Bug Fixes since HDF5-1.6.2
|
|
- Documentation
|
|
- Platforms Tested
|
|
- Supported Configuration Features Summary
|
|
- Known Problems
|
|
|
|
|
|
New Features
|
|
============
|
|
|
|
Configuration:
|
|
--------------
|
|
- Added some initial support for making purify (or similar memory
|
|
checking products) happier by initializing buffers to zero and
|
|
disabling the internal free list code. To take advantage of this,
|
|
define 'H5_USING_PURIFY' in your CFLAGS when building the library.
|
|
QAK - 2004/07/23
|
|
|
|
- WINDOWS building,testing and installing improvements
|
|
|
|
- On Windows, FORTRAN,C++ and C projects are merged into one zip file,
|
|
users can choose an option to build either FORTRAN or C++ or both
|
|
with basic C library.For detailed information,
|
|
please read INSTALL_Windows.txt.
|
|
|
|
- On Windows, szip compression library with or without encoder can be easily
|
|
turned off or on when building HDF5. For detailed information,
|
|
please read INSTALL_Windows.txt, especially section V.
|
|
|
|
- On Windows, an optional procedure for building,testing and installing
|
|
HDF5 from command line is provided. This procedure is supposed to be
|
|
convenient for experienced users, please read
|
|
INSTALL_windows_From_Command_Line.txt for details.
|
|
|
|
- On Windows, an alternative short instruction document for building,
|
|
testing and installing HDF5 is provided. This instruction is supposed to
|
|
be convenient for general users, please read
|
|
INSTALL_Windows_Short.txt for details.
|
|
|
|
- On Windows, h5repack,h5diff,h5ls and h5import tool tests have been added.
|
|
KY - 2004/9/16
|
|
|
|
|
|
Library:
|
|
--------
|
|
- Modified the way how HDF5 calculates 'pixels_per_scanline' parameter for
|
|
SZIP compression. Now there is no restriction on the size and shape of the
|
|
chunk except that the total number of elements in the chunk cannot be
|
|
bigger than 'pixels_per_block' parameter provided by the user.
|
|
EIP - 2004/07/21
|
|
- HDF5 can now link to SZIP with or without szip's encoder.
|
|
The new API function H5Zget_filter_info can be used to check
|
|
szip's status. Attempting to assign szip to a dataset property
|
|
list or attempting to write with szip will generate an error if
|
|
szip's encoder is disabled. JL/NF - 2004/6/30
|
|
- SZIP always uses K13 compression. This flag no longer needs to
|
|
be set when calling H5Pset_szip. If the flag for CHIP
|
|
compression is set, it will be ignored (since the two are mutually
|
|
exclusive). JL/NF - 2004/6/30
|
|
- A new API function H5Fget_name was added. It returns the name
|
|
of the file by object(file, group, data set, named data type,
|
|
attribute) ID. SLU - 2004/06/29
|
|
- A new API function H5Fget_filesize was added. It returns the
|
|
actual file size of the opened file. SLU - 2004/06/24
|
|
- Added option that if $HDF5_DISABLE_VERSION_CHECK is set to 2,
|
|
will suppress all library version mismatch warning messages.
|
|
AKC - 2004/4/14
|
|
|
|
Parallel Library:
|
|
-----------------
|
|
|
|
Tools:
|
|
------
|
|
- h5repack was added to the tools suite. h5repack regenerates an HDF5 file
|
|
from another HDF5 file, optionally applying HDF5 filters (compression)
|
|
and/or chunking to the copied file. The filters options are read from
|
|
the command line. See /doc/html/Tools.html for more details.
|
|
PVN - 2004/9/13
|
|
|
|
- h5dump includes new features:
|
|
1) Printing of dataset filters, storage layout and fill value information.
|
|
2) Print a list of the file contents.
|
|
3) Escape non printing characters.
|
|
4) Print the content of the boot block.
|
|
5) Print array indices with the data (the default).
|
|
These options are all switch controlled. See /doc/html/Tools.html for more details.
|
|
PVN - 2004/9/13
|
|
|
|
|
|
F90 API:
|
|
--------
|
|
- added new subroutines:
|
|
h5fget_filesize_f
|
|
h5iget_file_id_f
|
|
h5premove_filter_f
|
|
h5zget_filter_info_f
|
|
EIP 2004/9/21
|
|
|
|
- added new h5fget_name_f and h5fget_filesize_f subroutines
|
|
EIP 2004/07/08
|
|
|
|
C++ API:
|
|
--------
|
|
- Added wrappers for array and variable length datatypes APIs
|
|
- Added wrappers for newly added APIs from H5T, H5F, and H5I
|
|
- Added many wrappers that were missing from the H5P API
|
|
- Added the ability to reference HDF5 objects to these classes:
|
|
DataSet, DataType, Group, and H5File (wrappers for H5R APIs)
|
|
BMR 2004/08/04
|
|
|
|
|
|
Support for new platforms, languages and compilers.
|
|
=======================================
|
|
- Added PGI Fortran support for Linux64 (x86_64) systems
|
|
EIP - 2004/08/19
|
|
- Absoft compiler f95 v9.0 is supported on Linux 2.4 32bit
|
|
EIP - 2004/07/29
|
|
- HDF5 Fortran APIs are supported on Mac OSX with IBM XL Fortran
|
|
compiler version 8.1. This is a default compiler.
|
|
- HDF5 Fortran APIs are supported on MAC OSX with Absoft F95 compiler
|
|
version 8.2; set F9X environment variable to f95, for example
|
|
setenv F9X f95
|
|
Use --disable-shared --enable-static configure flags when Absoft
|
|
compiler is used.
|
|
EIP - 2004/07/27
|
|
|
|
Bug Fixes since HDF5-1.6.2 release
|
|
==================================
|
|
|
|
Library
|
|
-------
|
|
- Fixed parallel bug in which some processes attempted collective
|
|
I/O while others did independent I/O. Bug appeared when some
|
|
processes used point selections, and others didn't. JRM - 2004/9/15
|
|
- Corrected error where dataset region references were written in an
|
|
incorrect way on Cray machines. PVN & QAK - 2004/09/13
|
|
- The H5Tget_native_type now determines the native type for integers
|
|
based on the precision. This is to avoid cases of wrongly converting
|
|
an int to a short in machines that have a short of 8 bytes but with
|
|
32bit precision (e.g Cray SV1). PVN - 2004/09/07
|
|
- Changed H5Dread() to not overwrite data in an application's buffer
|
|
with garbage when accessing a chunked dataset with an undefined fill
|
|
value and an unwritten chunk is uncountered. QAK - 2004/08/25
|
|
- Fixed error which could cause a core dump when a type conversion
|
|
routine was registered after a compound datatype had been
|
|
converted and then an equivalent compound datatype was converted
|
|
again. QAK - 2004/08/07
|
|
- Fixed memory overwrite when encoding "multi" file driver information
|
|
for file's superblock. QAK - 2004/08/05
|
|
- Fixed obscure bug where a filter which failed during chunk allocation
|
|
could allow library to write uncompressed data to disk but think
|
|
the data was compressed. QAK - 2004/07/29
|
|
- Fixed bug where I/O to an extendible chunked dataset with zero-sized
|
|
dimensions would cause library to fail an assertion.
|
|
QAK - 2004/07/27
|
|
- Fixed bug where chunked datasets which have filters defined,
|
|
allocation time set to "late" and whose chunks don't align with
|
|
the dataspace bounds could have incorrect data stored when
|
|
overwriting the entire dataset on the first write. QAK - 2004/07/27
|
|
- Added check to ensure that dataspaces have extents set. JML-2004/07/26
|
|
- Fixed bug on some Solaris systems where HDF5 would try to use
|
|
gettimeofday() when that function didn't work properly.
|
|
JML - 2004/07/23
|
|
- Fixed bug in H5Sset_extent_simple where setting maximum size to
|
|
non-zero, then to zero would cause an error. JML - 2004/07/20
|
|
- Allow NULL pointer for buffer parameter to H5Dread & H5Dwrite
|
|
when not writing data ("none" selection or hyperslab or point
|
|
selection with no elements defined). QAK - 2004/07/20
|
|
- Calling H5Gcreate() on "/" or "." throws an error instead of
|
|
failing quietly. JML - 2004/07/19
|
|
- Fixed bug where setting file address size to be very small could
|
|
trigger an assert if the file grew to more than 64 KB. Now throws
|
|
an error and data can be recovered. JL/NF - 2004/07/14
|
|
- Fixed bug where "resurrecting" a dataset was failing.
|
|
QAK - 2004/07/14
|
|
- Fixed bug where incorrect data could be read from a chunked dataset
|
|
after it was extended. QAK - 2004/07/12
|
|
- After compound datatype with variable-length string in the fields
|
|
is committed to file, the size is messed up when it's read back.
|
|
Fixed. SLU - 2004/06/11
|
|
- Fixed potential file corruption bug when a block of metadata could
|
|
overlap the end of the internal metadata accumulator buffer and
|
|
the buffer would be extended correctly, but would incorrectly
|
|
change it's starting address. QAK - 2004/06/09
|
|
- Opaque datatype with no tag failed for some operations. Fixed.
|
|
SLU - 2004/6/3
|
|
- Fixed potential file corruption bug where dimensions that were
|
|
too large (a value greater than could be represented in 32-bits)
|
|
could cause the incorrect amount of space to be allocated in a
|
|
file for the raw data for the dataset. QAK - 2004/06/01
|
|
- Fixed dtypes "sw long double -> double" failure in QSC class
|
|
machines. AKC - 2004/4/16
|
|
|
|
Configuration
|
|
-------------
|
|
- Fixed the long compile time of H5detect.c when v7.x Intel Compiler
|
|
is used with optimization NOT off. AKC - 2004/05/20
|
|
|
|
Performance
|
|
-------------
|
|
|
|
Tools
|
|
-----
|
|
- On SGI h5dump displayed only part of the data due to the bug
|
|
in the system printf; fixed.
|
|
EIP - 2004/09/21
|
|
Documentation
|
|
-------------
|
|
- Several descriptive errors have been fixed throughout the
|
|
documentation, particularly in the reference manual (RM).
|
|
A selection particularly worthy of note would be these:
|
|
- The H5Pset_szip description in the RM has been expanded and
|
|
corrected to facilitate use of SZIP compression.
|
|
- A note has been added to the H5Dcreate description that an
|
|
unexplained failure is likely to be due to a property list error
|
|
that is detected only at the time of dataset creation.
|
|
-
|
|
FMB - 2004/09/21
|
|
|
|
F90 API
|
|
-------
|
|
|
|
Fortran functions h5dwrite/read_f and h5awrite/read_f do not
|
|
accept dims parameter of INTEGER type anymore. Code was removed.
|
|
2004/04/15
|
|
C++ API
|
|
-------
|
|
- H5::Exception's and its subclasses' constructors that were
|
|
overloaded to take char pointers are removed and constructors
|
|
that passed in reference of 'string' are changed to pass
|
|
by value. In addition, the default value of the data member
|
|
H5::Exception::detailMessage is changed from 0/NULL to
|
|
DEFAULT_MSG ("No detailed information provided".)
|
|
- Prototype for DSetCreatPropList::setLayout is changed: 1st parameter
|
|
is removed because it was there only by mistake.
|
|
BMR 2004/08/04
|
|
|
|
Documentation
|
|
=============
|
|
HDF5 Library documentation
|
|
--------------------------
|
|
- HDF5 C++ API Reference Manual
|
|
This document has been added to the HDF5 document set.
|
|
The predecessor document, "HDF5 C++ Interfaces," has been removed.
|
|
- HDF5 C++ API Design Specification
|
|
A first draft of this document has been added to the HDF5 document
|
|
set. The draft has been posted on the HDF5 website and a link
|
|
has been added to the HDF5 documents index (index.html at the top
|
|
level of the document set).
|
|
- Parallel HDF5
|
|
In prior releases, the HDF5 document set included two parallel
|
|
HDF5 documents. Those documents have been deleted and the
|
|
HDF5 documents index (index.html) now links to a "Parallel HDF5"
|
|
page on the HDF5 website (http://hdf.ncsa.uiuc.edu/HDF5/PHDF5/).
|
|
- HDF5 High Level APIs
|
|
Links to the HDF5 High Level APIs and to the HDF5 High Level
|
|
Reference Manual have been added to the HDF5 documents index
|
|
(index.html).
|
|
- HDF5 Reference Manual
|
|
Tools: h5repack -- A description of the new h5repack tool has been
|
|
added to the Tools page.
|
|
Tools: h5dump -- Several new options have been added to h5dump.
|
|
New functions -- All new functions have been added to the RM.
|
|
API changes -- Relevant function descriptions have been updated in
|
|
instances where programming interfaces have changed.
|
|
FMB - 2004/09/21
|
|
|
|
Windows installation documentation
|
|
----------------------------------
|
|
- INSTALL_Windows.txt has been enhanced to include instructions building
|
|
HDF5 with FORTRAN and C++.
|
|
- Two optional installation documents have been added. They are
|
|
INSTALL_Windows_Short.txt and INSTALL_Windows_From_Command_Line.txt.
|
|
INSTALL_Windows_Short.txt is supposed to help general users who
|
|
only want to build,test and install HDF5 in a quick way.
|
|
INSTALL_Windows_From_Command_Line.txt is supposed to help users who
|
|
would like to compile,test and install HDF5 in command line environment.
|
|
- INSTALL_Windows_withcpp.txt and INSTALL_Windows_withF90.txt became
|
|
obsolete. Files are deleted from the release_docs directory.
|
|
KY 2004/09/16, EIP 2004/9/21
|
|
|
|
|
|
|
|
Platforms Tested
|
|
================
|
|
|
|
AIX 5.1 (32 and 64-bit) xlc 6.0.0.6
|
|
xlf 8.1.1.3
|
|
xlC 6.0.0.6
|
|
mpcc_r 6.0.0.6
|
|
mpxlf_r 8.1.1.3
|
|
xlc 5.0.2.5
|
|
xlf 7.1.1.2
|
|
xlC 5.0.2.5
|
|
mpcc_r 5.0.2.5
|
|
mpxlf_r 7.1.1.2
|
|
AIX 5.2 xlc 6.0.0.8
|
|
xlC 6.0.0.8
|
|
xlf 8.1.1.6
|
|
mpcc_r 6.0.0.8
|
|
mpxlf_r 8.1.1.6
|
|
Cray T90 sn7001 10.0.0md Cray Standard C Version 6.4.0.3
|
|
Cray Fortran Version 3.4.0.0
|
|
Cray T3E sn6606 2.0.6.08 Cray Standard C Version 6.6.0.3
|
|
Cray Fortran Version 3.6.0.3
|
|
Cray SV1 sn9617 10.0.1.2 Cray Standard C Version 6.6.0.3.6
|
|
Cray Fortran Version 3.6.0.3.1
|
|
FreeBSD 4.9 gcc 2.95.4
|
|
g++ 2.95.4
|
|
HP-UX B.11.00 HP C HP92453-01 A.11.01.20
|
|
HP F90 v2.4
|
|
HP ANSI C++ B3910B A.03.13
|
|
MPIch 1.2.4
|
|
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1.3m
|
|
F90 MIPSpro 7.3.1.3m (64 only)
|
|
C++ MIPSpro cc 7.3.1.3m
|
|
mpt 1.6
|
|
Linux 2.4.18 gcc 2.96, 3.3.2
|
|
g++ 3.3.2
|
|
Intel(R) C++ Version 7.1
|
|
Intel(R) Fortran Compiler Version 7.1
|
|
PGI compilers (pgcc, pgf90, pgCC) version 5.0-2
|
|
MPIch 1.2.4
|
|
Absoft Fortran compiler v9.0
|
|
Linux 2.4.20-8 gcc 3.3.2
|
|
PGI compilers (pgcc, pgf90, pgCC) version 5.0-2
|
|
MPIch 1.2.4
|
|
Linux 2.4.21-2.9.5ws #3 gcc 3.2.3 (Red Hat Linux 3.2.3-16)
|
|
SMP x86_64 g++ 3.2.3
|
|
Linux 2.4.21-4.ELsmp Intel(R) C++ 32-bit Version 8.0
|
|
Intel(R) Fortran 32-bit Version 8.0
|
|
gcc 3.4.0
|
|
MPICH 1..5.2 Inmel 8.0
|
|
Linux 2.4.19-SMP x86_64 gcc (GCC) 3.2.2 (SuSE Linux)
|
|
g++ 3.2.2
|
|
Linux 2.6.4-52smp x86_64 gcc 3.3.3 (SuSE Linux 9.1 AMD64))
|
|
PGI 5.2-1 C and F90
|
|
|
|
Linux 2.4.21-sgi Altix
|
|
SMP ia64 Intel(R) C++ Version 8.0
|
|
Intel(R) Fortran Itanium(R) Version 8.0
|
|
SGI MPI
|
|
OSF1 V5.1 Compaq C V6.5-303
|
|
HP Fortran V5.5A-3548
|
|
Compaq C++ V6.5-040
|
|
MPI_64bit_R13
|
|
SunOS 5.7(32 and 64 bit) WorkShop Compilers 5.0 98/12/15 C 5.0
|
|
(Solaris 2.7) WorkShop Compilers 5.0 98/12/15 C++ 5.0
|
|
WorkShop Compilers 5.0 98/10/25
|
|
FORTRAN 90 2.0 Patch 107356-04
|
|
SunOS 5.8(32 and 64 bit) Sun WorkShop 6 update 2 C 5.3
|
|
(Solaris 2.8) Sun WorkShop 6 update 2 Fortran 90
|
|
Sun WorkShop 6 update 2 C++ 5.3
|
|
TFLOPS r1.0.4 v4.4.3 i386 pgcc Rel 3.1-4i with mpich-1.2.4 with
|
|
local modifications
|
|
IA-32 Linux 2.4.18 gcc 2.96
|
|
Intel(R) C++ Version 7.0
|
|
Intel(R) Fortran Compiler Version 7.0
|
|
|
|
Xeon Linux 2.4.20-31.9smp_perfctr_lustre
|
|
Intel(R) C++ Version 8.0
|
|
Intel(R) Fortran Compiler Version 8.0
|
|
|
|
IA-64 Linux 2.4.16 ia64 gcc version 3.0.4
|
|
Intel(R) C++ Version 7.1
|
|
Intel(R) Fortran Compiler Version 7.1
|
|
|
|
IA-64 Linux 2.4.21.SuSE_128.bef1 ia64
|
|
Intel(R) C++ Version 8.0
|
|
Intel(R) Fortran Compiler Version 8.0
|
|
mpich-gm-1.2.5..intel
|
|
|
|
Windows 2000 (NT5.0) MSVC++ 6.0
|
|
MSVC++ .NET
|
|
DEC Visual Fortran 6.0
|
|
Intel C and F90 compilers version 7.1
|
|
Code Warrior 8.0
|
|
Windows XP MSVC++.NET
|
|
MSVC++ 6.0
|
|
DEC Visual Fortran 6.0
|
|
|
|
MAC OS X Darwin 7.5
|
|
gcc and g++ Apple Computer, Inc. GCC
|
|
version 1175, based on gcc version 3.3.2
|
|
IBM XL Fortran version 8.1
|
|
Absoft Fortran compiler v8.2
|
|
|
|
|
|
|
|
Supported Configuration Features Summary
|
|
========================================
|
|
|
|
Key: y = tested and supported
|
|
n = not supported or not tested in this release
|
|
x = not working in this release
|
|
dna = does not apply
|
|
( ) = footnote appears below second table
|
|
|
|
Platform C F90 F90 C++ zlib SZIP
|
|
parallel parallel
|
|
Solaris2.7 64-bit y (1) y y (1) y y y
|
|
Solaris2.7 32-bit y (1) y y (1) y y y
|
|
Solaris2.8 64-bit y (1) y y (1) y y y
|
|
Solaris2.8 32-bit y y y (1) y y y
|
|
IRIX64_6.5 64-bit y (2) y y y y y
|
|
IRIX64_6.5 32-bit y (2) n n n y y
|
|
HPUX11.00 y (1) y y y y y
|
|
OSF1 v5.1 y y y y y y
|
|
T90 IEEE n y n n y n
|
|
T3E y (5) y y (5) n y n
|
|
SV1 y (5) y y (5) n y n
|
|
TFLOPS y (1) n n n y n
|
|
AIX-5.1 & 5.2 32-bit y y y y y y
|
|
AIX-5.1 & 5.2 64-bit y y y y y y
|
|
WinXP Visual Studio 6.0 n y (9) n y y y
|
|
WinXP .Net n n n y y y
|
|
WinXP Code Warrior n n n n y y
|
|
Win2000 Visual Studio 6.0 n y (10) n y y y
|
|
Win2000 Visual Studio Intel (6) n y n y y y
|
|
Win2000 .Net n n n y y y
|
|
Mac OS X 10.3 n y (11) n y y y
|
|
FreeBSD 4.9 y (1) n n y y y
|
|
RedHat 7 W (3) y (1) y (12) n y y y
|
|
RedHat 7.3 W Intel (3) n y n y y y
|
|
RedHat 7.3 W PGI (3) n y n y y y
|
|
RedHat 8 & SuSe x86_64 gcc (3) n y (13) n y y y
|
|
Linux 2.4 Xeon C Lustre Intel (3,7) n y n y y y
|
|
Linux 2.4 SuSE ia64 C Intel (3,8) y y y y y y
|
|
Linux 2.4 SGI Altix ia64 Intel (3) y y y y y y
|
|
|
|
|
|
Platform Shared static- Thread- STREAM-
|
|
libraries (4) exec safe VFD
|
|
Solaris2.7 64-bit y x y y
|
|
Solaris2.7 32-bit y x y y
|
|
Solaris2.8 64-bit y x y y
|
|
Solaris2.8 32-bit y x y y
|
|
IRIX64_6.5 64-bit y y y y
|
|
IRIX64_6.5 32-bit y y y y
|
|
HPUX11.00 y x n y
|
|
OSF1 v5.1 y y n y
|
|
T90 IEEE n y n y
|
|
T3E n y n y
|
|
SV1 n y n y
|
|
TFLOPS n y n n
|
|
AIX-5.1 & 5.2 32-bit n y n y
|
|
AIX-5.1 & 5.2 64-bit n y n y
|
|
WinXP Visual Studio 6.0 y y n n
|
|
WinXP .Net y y n n
|
|
WinXP Code Warrior n y n n
|
|
Win2000 Visual Studio 6.0 y y n n
|
|
Win2000 Visual Studio Intel (6) y y n n
|
|
Win2000 .Net y y n n
|
|
Mac OS X 10.3 y y n y
|
|
FreeBSD 4.9 y y y y
|
|
RedHat 7 W (3) y y y y
|
|
RedHat 7.3 W Intel (3) n y n y
|
|
RedHat 7.3 W PGI (3) n y n y
|
|
RedHat 8 & SuSe x86_64 gcc (3) n y n y
|
|
Linux 2.4 Xeon C Lustre Intel (3,7) y y n y
|
|
Linux 2.4 SuSE ia64 C Intel (3,8) y y n n
|
|
Linux 2.4 SGI Altix ia64 Intel (3) y y n y
|
|
|
|
|
|
|
|
Compiler versions for each platform are listed in the "Platforms Tested"
|
|
table found elsewhere in this file (RELEASE.txt). Unless otherwise noted,
|
|
compilers used are the system compilers.
|
|
|
|
Footnotes: (1) Using mpich 1.2.4
|
|
(2) Using mpt and mpich 1.2.4
|
|
(3) Linux 2.4 with GNU, Intel, and PGI compilers, as indicated
|
|
W or C indicates workstation or cluster, respectively
|
|
(4) Shared libraries are provided only for the C library,
|
|
except on Windows where they are provided for C and C++
|
|
(5) Using mpt
|
|
(6) Intel 7.1 compilers in Visual Studio 6.0 environment
|
|
(7) Linux 2.4.20-31.9. Xeon cluster with smp_perfctr_lustre
|
|
and Intel compilers
|
|
(8) Linux 2.4.21, SuSE_128.befl. Ia64 cluster with Intel compilers
|
|
(9) DEC Visual Fortran 6.0 and Intel 7.1
|
|
(10) DEC Visual Fortran 6.0
|
|
(11) IBM XLF and Absoft
|
|
(12) PGI, Absoft
|
|
(13) PGI
|
|
FMB/EIP - 2004/09/21
|
|
|
|
|
|
|
|
Known Problems
|
|
==============
|
|
* h5fc and h5c++ compilation scripts have a bug: object files (*.o) cannot be
|
|
created when source code is compiled using h5fc or h5c++. We will provide
|
|
a fix. Please check ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/src/patches/
|
|
for the patches.
|
|
|
|
* Fortran subroutine h5pget_driver_f doesn't return a correct driver information.
|
|
|
|
* There are two h5dump xml tests(h5dump --xml thlink.h5 and h5dump --xml tmany.h5)
|
|
failed on windows xp with .NET for debug and debug dll. Release and Release
|
|
dll work fine.
|
|
|
|
* The h5dump tests may fail to match the expected output on some platforms
|
|
(e.g. parallel jobs, Windows) where the error messages directed to
|
|
"stderr" do not appear in the "right order" with output from stdout.
|
|
This is not an error.
|
|
|
|
* The stream-vfd test uses ip port 10007 for testing. If another
|
|
application is already using that port address, the test will hang
|
|
indefinitely and has to be terminated by the kill command. To try the
|
|
test again, change the port address in test/stream_test.c to one not
|
|
being used in the host.
|
|
|
|
* The --enable-static-exec configure flag fails to compile for Solaris
|
|
platforms. This is due to the fact that not all of the system
|
|
libraries on Solaris are available in a static format.
|
|
|
|
The --enable-static-exec configure flag also fails to correctly compile
|
|
on IBM SP2 platform for the serial mode. The parallel mode works fine
|
|
with this option.
|
|
|
|
It is suggested that you don't use this option on these platforms
|
|
during configuration.
|
|
|
|
* The Stream VFD was not tested yet under Windows. It is not supported
|
|
in the TFLOPS machine.
|
|
|
|
* The ./dsets tests failed in the TFLOPS machine if the test program,
|
|
dsets.c, is compiled with the -O option. The hdf5 library still works
|
|
correctly with the -O option. The test program works fine if it is
|
|
compiled with -O1 or -O0. Only -O (same as -O2) causes the test
|
|
program to fail.
|
|
|
|
* Certain platforms give false negatives when testing h5ls:
|
|
- Cray J90 and Cray T90IEEE give errors during testing when displaying
|
|
some floating-point values. These are benign differences due to
|
|
the different precision in the values displayed and h5ls appears to
|
|
be dumping floating-point numbers correctly.
|
|
|
|
* Before building HDF5 F90 Library from source on Crays
|
|
replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src
|
|
subdirectory in the top level directory with the Cray-specific files
|
|
from the site:
|
|
ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/src/patches/
|
|
|
|
* On some platforms that use Intel and Absoft compilers to build HDF5 fortran library,
|
|
compilation may fail for fortranlib_test.f90, fflush1.f90 and fflush2.f90
|
|
complaining about exit subroutine. Comment out the line
|
|
IF (total_error .ne. 0) CALL exit (total_error)
|
|
|
|
* On IA32 and IA64 systems, if you use a compiler other than GCC (such as
|
|
Intel's ecc or icc compilers), you will need to modify the generated
|
|
"libtool" program after configuration is finished. On or around line 104 of
|
|
the libtool file, there are lines which look like:
|
|
|
|
# How to pass a linker flag through the compiler.
|
|
wl=""
|
|
|
|
change these lines to this:
|
|
|
|
# How to pass a linker flag through the compiler.
|
|
wl="-Wl,"
|
|
|
|
UPDATE: This is now done automatically by the configure script. However, if
|
|
you still experience a problem, you may want to check this line in the
|
|
libtool file and make sure that it has the correct value.
|
|
|
|
* Information about building with PGI and Intel compilers is available in
|
|
INSTALL file sections 5.7 and 5.8
|
|
|
|
* In LANL QSC, the new cc compiler has problems converting small values of
|
|
long long (absolute values less than 1**-308) to double. This triggers
|
|
the test/dtypes to report failure in the
|
|
Testing random sw long double -> double conversions
|
|
If -ieee is used, the converted doubles spread over the range 0.0 to 1**-308.
|
|
If -ieee is not used, the converted double values are mostly 0.0 but
|
|
occasionally as 1**-308. This has been reported to the system staff.
|
|
All other tests have passed.
|
|
|
|
* On at least one system, (SDSC DataStar), the scheduler (in this case
|
|
LoadLeveler) sends job status updates to standard error when you run
|
|
any executable that was compiled with the parallel compilers.
|
|
|
|
This causes problems when running "make check" on parallel builds, as
|
|
many of the tool tests function by saving the output from test runs,
|
|
and comparing it to an exemplar.
|
|
|
|
The best solution is to reconfigure the target system so it no longer
|
|
inserts the extra text. However, this may not be practical.
|
|
|
|
In such cases, one solution is to "setenv HDF5_Make_Ignore yes" prior to
|
|
the configure and build. This will cause "make check" to continue after
|
|
detecting errors in the tool tests. However, in the case of SDSC DataStar,
|
|
it also leaves you with some 150 "failed" tests to examine by hand.
|
|
|
|
A second solution is to write a script to run serial tests and filter
|
|
out the text added by the scheduler. A sample script used on SDSC
|
|
DataStar is given below, but you will probably have to customize it
|
|
for your installation.
|
|
|
|
Observe that the basic idea is to insert the script as the first item
|
|
on the command line which executes the test. The script then
|
|
executes the test and filters out the offending text before passing
|
|
it on.
|
|
|
|
#!/bin/csh
|
|
|
|
set STDOUT_FILE=~/bin/serial_filter.stdout
|
|
set STDERR_FILE=~/bin/serial_filter.stderr
|
|
|
|
rm -f $STDOUT_FILE $STDERR_FILE
|
|
|
|
($* > $STDOUT_FILE) >& $STDERR_FILE
|
|
|
|
set RETURN_VALUE=$status
|
|
|
|
cat $STDOUT_FILE
|
|
|
|
tail +3 $STDERR_FILE
|
|
|
|
exit $RETURN_VALUE
|
|
|
|
You get the HDF make files and test scripts to execute your filter script
|
|
by setting the environment variable "RUNSERIAL" to the full path of the
|
|
script prior to running configure for parallel builds. Remember to
|
|
"unsetenv RUNSERIAL" before running configure for a serial build.
|
|
|
|
Note that the RUNSERIAL environment variable exists so that we can
|
|
can prefix serial runs as necessary on the target system. On DataStar,
|
|
no prefix is necessary. However on an MPICH system, the prefix might
|
|
have to be set to something like "/usr/local/mpi/bin/mpirun -np 1" to
|
|
get the serial tests to run at all.
|
|
|
|
In such cases, you will have to include the regular prefix in your
|
|
filter script.
|
|
|
|
%%%%1.6.2%%%% Release Information for hdf5-1.6.2 (12/February/04)
|
|
|
|
HDF5 version 1.6.2 released on Thu Feb 12 14:18:13 CST 2004
|
|
================================================================================
|
|
|
|
|
|
INTRODUCTION
|
|
|
|
This document describes the differences between HDF5-1.6.1 and
|
|
HDF5-1.6.2, and contains information on the platforms tested and
|
|
known problems in HDF5-1.6.2. For more details check the HISTORY.txt
|
|
file in the HDF5 source.
|
|
|
|
The HDF5 documentation can be found on the NCSA ftp server
|
|
(ftp.ncsa.uiuc.edu) in the directory:
|
|
|
|
/HDF/HDF5/docs/
|
|
|
|
For more information look at the HDF5 home page at:
|
|
|
|
http://hdf.ncsa.uiuc.edu/HDF5/
|
|
|
|
If you have any questions or comments, please send them to:
|
|
|
|
hdfhelp@ncsa.uiuc.edu
|
|
|
|
CONTENTS
|
|
|
|
- New Features
|
|
- Support for new platforms and languages
|
|
- Bug Fixes since HDF5-1.6.1
|
|
- Documentation
|
|
- Platforms Tested
|
|
- Supported Configuration Features Summary
|
|
- Known Problems
|
|
|
|
|
|
New Features
|
|
============
|
|
|
|
Configuration:
|
|
--------------
|
|
- Default of $prefix is changed to $PWD/hdf5 so that multiple
|
|
builds using --srcdir is possible in the same machine.
|
|
AKC - 2003/12/1
|
|
|
|
Library:
|
|
--------
|
|
- Added H5Iget_ref, H5Iinc_ref and H5Idec_ref routines to the C
|
|
library and the FORTRAN wrapper. See the reference manual for a
|
|
full description of these new routines. QAK - 2003/12/11
|
|
|
|
Parallel Library:
|
|
-----------------
|
|
- The parallel tests in testpar/ now provides different levels of
|
|
verbosity via the '-v' option. The default is less verbose
|
|
than before. AKC - 2004/01/23
|
|
- Added parallel test, test_mpio_1wMr, which tests if the
|
|
underlaying parallel I/O system is conforming to the POSIX
|
|
write/read requirement. This version includes options of using
|
|
atomicity and file-sync. AKC - 2003/11/27
|
|
|
|
Tools:
|
|
------
|
|
- Added option -showconfig to compiler tools (h5cc,h5fc,h5c++).
|
|
AKC - 2004/01/08
|
|
- Install the "h5cc" and "h5fc" tools as "h5pcc" and "h5pfc"
|
|
respectively if library is built in parallel mode. AKC - 2004/01/07
|
|
- Added metadata benchmark (perform/perf_meta). SLU - 2003/10/03
|
|
|
|
C++ API:
|
|
--------
|
|
|
|
|
|
Support for new platforms, languages and compilers.
|
|
=======================================
|
|
- HDF5 Fortran APIs are supported on MAC OSX with IBM XL Fortran compiler
|
|
version 8.1 Beta
|
|
Use --disbale-shared --enable-static flags with configure when
|
|
building HDF5 Fortran Library on MAC OSX.
|
|
- C and C++ Libraries are available for Linux64 RH8
|
|
- C, C++ and Fortran sequential Libraries, and C and Fortran parallel
|
|
Libraries are available for Altix (Linux ia64)
|
|
|
|
Bug Fixes since HDF5-1.6.1 release
|
|
==================================
|
|
|
|
Library
|
|
-------
|
|
- Fixed problem with H5Tget_native_type() not handling opaque fields
|
|
correctly. QAK - 2004/01/31
|
|
- Fixed several errors in B-tree deletion code which could cause a
|
|
B-tree (used with groups and chunked datasets) to become corrupt
|
|
with the right sequence of deleted objects. QAK - 2004/01/19
|
|
- Fixed small internal memory leaks of fill-value information.
|
|
QAK - 2004/01/13
|
|
- Fixed bug that caused variable-length datatypes (strings or sequences)
|
|
used for datasets in files with objects that were unlinked to
|
|
fail to be read/written to a file. QAK - 2004/01/13
|
|
- Detect situation where szip 'pixels per block' is larger than the
|
|
fastest changing dimension of a dataset's chunk size and disallow
|
|
this (due to limits in szip library). QAK - 2003/12/31
|
|
- Fixed bug with flattened hyperslab selections that would generate
|
|
incorrect hyperslab information with certain high-dimensionality
|
|
combinations of start/stride/count/block information.
|
|
QAK - 2003/12/31
|
|
- Fixed bug with variable-length datatypes used in compound datatypes.
|
|
SLU - 2003/12/29
|
|
- Fixed bug in parallel I/O routines that would cause reads from
|
|
"short datasets" (datasets which were only partially written out)
|
|
to return invalid data. QAK & AKC - 2003/12/19
|
|
- Fixed bug where scalar dataspaces for attributes were reporting as
|
|
simple dataspaces. QAK - 2003/12/13
|
|
- Fixed problem with selection offsets of hyperslab selections in
|
|
chunked datasets causing the library to go into an infinite loop.
|
|
QAK - 2003/12/13
|
|
- Fixed H5Giterate to avoid re-using index parameter after iteration
|
|
callback has been called (allows iteration callback to modify the
|
|
index parameter itself). QAK - 2003/12/06
|
|
- Fixed various floating-point conversion problems, including a
|
|
change which could corrupt data when converting from double->float.
|
|
QAK - 2003/11/24
|
|
- Changed "single process" metadata writing in library to collective
|
|
I/O by all processes, in order to guarantee correct data being
|
|
written with MPI-I/O. QAK - 2003/11/20
|
|
- Fixed problems with fill values and variable-length types and also
|
|
I/O on VL values that were set to NULL. QAK - 2003/11/08
|
|
- Fixed problems with MPI datatypes that caused ASCI Q machine to
|
|
hang. QAK - 2003/10/28
|
|
- Removed HDF5_MPI_PREFER_DERIVED_TYPES environment variable support,
|
|
since it had no benefit. QAK - 2003/10/28
|
|
- Single hyperslab selections (which were set with only one call to
|
|
H5Sselect_hyperslab) that had dimensions that could be "flattened"
|
|
but were interspersed with dimensions that could not be flattened
|
|
were not correctly handled, causing core dumps. QAK - 2003/10/25
|
|
- Avoid metadata cache from preempting current dataset object header
|
|
when looking up information about the named datatype that the
|
|
dataset uses. QAK - 2003/10/20
|
|
|
|
Configuration
|
|
-------------
|
|
- Parallel I/O with the MPI-I/O driver will no longer work if the
|
|
filesystem is not POSIX compliant. The "HDF5_MPI_1_METAWRITE"
|
|
environment variable has been removed. QAK - 2004/01/30
|
|
|
|
Performance
|
|
-------------
|
|
- More optimizations to inner loops of datatype conversions for
|
|
integers and floats which give a 10-50% speedup. QAK - 2003/11/07
|
|
- Hoisted invariant 'if/else's out of inner datatype conversion loop for
|
|
integer and floating-point values, giving about a 20% speedup.
|
|
QAK - 2003/10/20
|
|
|
|
Tools
|
|
-----
|
|
- Fixed h5redeploy which sometimes complain too many argument for the
|
|
test command. (The complain did not hinder the h5redploy to proceed
|
|
correctly.) AKC - 2003/11/03
|
|
|
|
Documentation
|
|
-------------
|
|
|
|
|
|
Documentation
|
|
=============
|
|
|
|
|
|
|
|
Platforms Tested
|
|
================
|
|
|
|
AIX 5.1 (32 and 64-bit) xlc 6.0.0.2
|
|
xlf 8.1.0.3
|
|
xlC 6.0.0.4
|
|
xlc 5.0.2.5
|
|
xlf 7.1.1.2
|
|
xlC 5.0.2.5
|
|
mpcc_r 5.0.2.5
|
|
mpxlf_r 7.1.1.2
|
|
poe 3.2.0.10
|
|
Cray T3E sn6606 2.0.6.08 Cray Standard C Version 6.6.0.2
|
|
Cray Fortran Version 3.6.0.2
|
|
Cray SV1 sn9617 10.0.1.2 Cray Standard C Version 6.6.0.2
|
|
Cray Fortran Version 3.6.0.2
|
|
Cray T90IEEE 10.0.0md Cray Standard C Version 6.4.0.3
|
|
Cray Fortran Version 3.4.0.0
|
|
FreeBSD 4.9 gcc 2.95.4
|
|
g++ 2.95.4
|
|
HP-UX B.11.00 HP C HP92453-01 A.11.01.20
|
|
HP F90 v2.4
|
|
HP ANSI C++ B3910B A.03.13
|
|
MPIch 1.2.4
|
|
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1.3m
|
|
F90 MIPSpro 7.3.1.3m (64 only)
|
|
C++ MIPSpro cc 7.3.1.3m
|
|
Linux 2.4.18 gcc 2.96, 3.3.2
|
|
g++ 3.3.2
|
|
Intel(R) C++ Version 7.1
|
|
Intel(R) Fortran Compiler Version 7.1
|
|
PGI compilers (pgcc, pgf90, pgCC) version 5.0-2
|
|
MPIch 1.2.4
|
|
Linux 2.4.20-8 gcc 3.3.2
|
|
PGI compilers (pgcc, pgf90, pgCC) version 5.0-2
|
|
MPIch 1.2.4
|
|
Linux 2.4.21-2.9.5ws #3 gcc 3.2.3 (Red Hat Linux 3.2.3-16)
|
|
SMP x86_64 g++ 3.2.3
|
|
Linux 2.4.19-SMP x86_64 gcc (GCC) 3.2.2 (SuSE Linux)
|
|
g++ 3.2.2
|
|
|
|
Linux 2.4.21-sgi Altix
|
|
SMP ia64 Intel(R) C++ Version 7.1
|
|
Intel(R) Fortran Itanium(R) Version 7.1
|
|
SGI MPI
|
|
OSF1 V5.1 Compaq C V6.4-014
|
|
Compaq Fortran V5.5-2602
|
|
Compaq Fortran V5.5-1877
|
|
Compaq C++ V6.5-033
|
|
Compaq C++ V6.5-030
|
|
MPI_64bit_R13
|
|
SunOS 5.7(32 and 64 bit) WorkShop Compilers 5.0 98/12/15 C 5.0
|
|
(Solaris 2.7) WorkShop Compilers 5.0 98/12/15 C++ 5.0
|
|
WorkShop Compilers 5.0 98/10/25
|
|
FORTRAN 90 2.0 Patch 107356-04
|
|
SunOS 5.8(32 and 64 bit) Sun WorkShop 6 update 2 C 5.3
|
|
(Solaris 2.8) Sun WorkShop 6 update 2 Fortran 90
|
|
Sun WorkShop 6 update 2 C++ 5.3
|
|
TFLOPS r1.0.4 v4.4.2 i386 pgcc Rel 3.1-4i with mpich-1.2.4 with
|
|
local modifications
|
|
IA-32 Linux 2.4.18 gcc 2.96
|
|
Intel(R) C++ Version 7.0
|
|
Intel(R) Fortran Compiler Version 7.0
|
|
|
|
IA-64 Linux 2.4.16 ia64 gcc version 3.0.4
|
|
Intel(R) C++ Version 7.1
|
|
Intel(R) Fortran Compiler Version 7.1
|
|
|
|
IA-64 Linux 2.4.21.SuSE_128.bef1 ia64
|
|
Intel(R) C++ Version 7.1
|
|
Intel(R) Fortran Compiler Version 7.1
|
|
mpich-gm-1.2.5..intel
|
|
|
|
Windows 2000 (NT5.0) MSVC++ 6.0
|
|
DEC Visual Fortran 6.0
|
|
Intel C and F90 compilers version 7.1
|
|
Code Warrior 8.0
|
|
Windows XP MSVC++.NET
|
|
MAC OS X Darwin 7.2
|
|
gcc and g++ Apple Computer, Inc. GCC
|
|
version 1175, based on gcc version 3.3.2
|
|
IBM XL Fortran version 8.1 Beta
|
|
|
|
|
|
|
|
Supported Configuration Features Summary
|
|
========================================
|
|
|
|
Key: y = tested and supported
|
|
n = not supported or not tested in this release
|
|
x = not working in this release
|
|
dna = does not apply
|
|
( ) = footnote appears below second table
|
|
|
|
Platform C C F90 F90 C++ Shared zlib
|
|
parallel parallel libraries (4)
|
|
Solaris2.7 64-bit y y (1) y y (1) y y y
|
|
Solaris2.7 32-bit y y (1) y y (1) y y y
|
|
Solaris2.8 64-bit y y (1) y y (1) y y y
|
|
Solaris2.8 32-bit y y y y (1) y y y
|
|
IRIX64_6.5 64-bit y y (2) y y y y y
|
|
IRIX64_6.5 32-bit y y (2) n n n y y
|
|
HPUX11.00 y y (1) y y y y y
|
|
OSF1 v5.1 y y y y y y y
|
|
T3E y y (5) y y (5) n n y
|
|
SV1 y y (5) y y (5) n n y
|
|
T90 IEEE y y (5) y y (5) n n y
|
|
TFLOPS n y (1) n n n n y
|
|
AIX-5.1 32-bit y y y y y n y
|
|
AIX-5.1 64-bit y y y y y n y
|
|
WinXP Visual Studio (7) y n n n y y y
|
|
WinXP Intel y n n n y y y
|
|
WinXP CW y n n n n n y
|
|
Win2000 Visual Studio y n y n y y y
|
|
Win2000 Intel y n y n y y y
|
|
Mac OS X 10.3 y n y n y y y
|
|
FreeBSD 4.9 y y (1) n n y y y
|
|
RedHat 7, 8 & 9 ia32 y y (1) y(PGI) n y y y
|
|
W gcc (3)
|
|
RedHat 7.3 ia32 W Intel (3) y n y n y n y
|
|
RedHat 7.3 ia32 W PGI (3) y n y n y n y
|
|
RedHat 7 ia32 C Intel (3) y n y n y n y
|
|
RedHat 7.1 ia64 C Intel (3) y n y n y n y
|
|
RedHat 8 & SuSe x86_64 y n n n y n y
|
|
gcc (3)
|
|
Linux 2.4 SGI Altix ia64 y n y n y y y
|
|
Intel (3)
|
|
|
|
|
|
Platform static- Thread- SZIP GASS STREAM- High- H4/H5
|
|
exec safe VFD level tools
|
|
APIs (6)
|
|
Solaris2.7 64-bit x y y n y y n
|
|
Solaris2.7 32-bit x y y n y y y
|
|
Solaris2.8 64-bit x y y n y y n
|
|
Solaris2.8 32-bit x y y n y y y
|
|
IRIX64_6.5 64-bit x y y y y y y
|
|
IRIX64_6.5 32-bit x y y y y y y
|
|
HPUX11.00 x n y n y y y
|
|
OSF1 v5.1 y n y n y y y
|
|
T3E y n n n y y y
|
|
SV1 y n n n y y y
|
|
T90 IEEE y n n n y y n
|
|
TFLOPS y n n n n n n
|
|
AIX-5.1 32-bit y n y n y y y
|
|
AIX-5.1 64-bit y n y n y y y
|
|
WinXP Visual Studio y n y n n y y
|
|
WinXP Intel y n y n n y y
|
|
WinXP CW y n y n n y y
|
|
Win2000 Visual Studio y n y n n y y
|
|
Win2000 Intel y n y n n y y
|
|
Mac OS X 10.3 y n y n y y n
|
|
FreeBSD 4.9 y y y n y y y
|
|
RedHat 7, 8 & 9 ia32 y y y n y y y
|
|
W gcc (3)
|
|
RedHat 7.3 ia32 W Intel (3) y n y n y n n
|
|
RedHat 7.3 ia32 W PGI (3) y n y n y n n
|
|
RedHat 7 ia32 C Intel (3) y n y n y y y
|
|
RedHat 7.1 ia64 C Intel (3) y n y n y y y
|
|
RedHat 8 & SuSe x86_64 y n y n y y y
|
|
gcc (3)
|
|
Linux 2.4 SGI Altix ia64 y n y n y y y
|
|
Intel (3)
|
|
|
|
|
|
Compiler versions for each platform are listed in the "Platforms Tested"
|
|
table found elsewhere in this file (RELEASE.txt). Unless otherwise noted,
|
|
compilers used are the system compilers.
|
|
|
|
Footnotes: (1) Using mpich 1.2.4.
|
|
(2) Using mpt and mpich 1.2.4.
|
|
(3) Linux 2.4 with GNU, Intel, and PGI compilers, as indicated.
|
|
W or C indicates workstation or cluster, respectively.
|
|
(4) Shared libraries are provided only for the C library,
|
|
except on Windows where they are provided for C and C++.
|
|
(5) Using mpt.
|
|
(6) Includes the H4toH5 Library and the h4toh5 and h5toh4
|
|
utilities.
|
|
|
|
|
|
Known Problems
|
|
==============
|
|
* Fortran subroutine h5pget_driver_f doesn't return a correct driver information.
|
|
|
|
* There are two h5dump xml tests(h5dump --xml thlink.h5 and h5dump --xml tmany.h5)
|
|
failed on windows xp with .NET for debug and debug dll. Release and Release
|
|
dll work fine.
|
|
|
|
* The h5dump tests may fail to match the expected output on some platforms
|
|
(e.g. parallel jobs, Windows) where the error messages directed to
|
|
"stderr" do not appear in the "right order" with output from stdout.
|
|
This is not an error.
|
|
|
|
* The stream-vfd test uses ip port 10007 for testing. If another
|
|
application is already using that port address, the test will hang
|
|
indefinitely and has to be terminated by the kill command. To try the
|
|
test again, change the port address in test/stream_test.c to one not
|
|
being used in the host.
|
|
|
|
* The --enable-static-exec configure flag fails to compile for Solaris
|
|
platforms. This is due to the fact that not all of the system
|
|
libraries on Solaris are available in a static format.
|
|
|
|
The --enable-static-exec configure flag also fails to correctly compile
|
|
on IBM SP2 platform for the serial mode. The parallel mode works fine
|
|
with this option.
|
|
|
|
It is suggested that you don't use this option on these platforms
|
|
during configuration.
|
|
|
|
* The Stream VFD was not tested yet under Windows. It is not supported
|
|
in the TFLOPS machine.
|
|
|
|
|
|
* The ./dsets tests failed in the TFLOPS machine if the test program,
|
|
dsets.c, is compiled with the -O option. The hdf5 library still works
|
|
correctly with the -O option. The test program works fine if it is
|
|
compiled with -O1 or -O0. Only -O (same as -O2) causes the test
|
|
program to fail.
|
|
|
|
* Certain platforms give false negatives when testing h5ls:
|
|
- Cray J90 and Cray T90IEEE give errors during testing when displaying
|
|
some floating-point values. These are benign differences due to
|
|
the different precision in the values displayed and h5ls appears to
|
|
be dumping floating-point numbers correctly.
|
|
|
|
* Before building HDF5 F90 Library from source on Crays
|
|
replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src
|
|
subdirectory in the top level directory with the Cray-specific files
|
|
from the site:
|
|
ftp://hdf.ncsa.uiuc.edu/pub/outgoing/hdf5/hdf5-1.6.2/F90_source_for_Crays
|
|
|
|
* On some platforms that use Intel compilers to build HDF5 fortran library,
|
|
compilation may fail for fortranlib_test.f90, fflush1.f90 and fflush2.f90
|
|
complaining about exit subroutine. Comment out the line
|
|
IF (total_error .ne. 0) CALL exit (total_error)
|
|
|
|
* On IA32 and IA64 systems, if you use a compiler other than GCC (such as
|
|
Intel's ecc or icc compilers), you will need to modify the generated
|
|
"libtool" program after configuration is finished. On or around line 104 of
|
|
the libtool file, there are lines which look like:
|
|
|
|
# How to pass a linker flag through the compiler.
|
|
wl=""
|
|
|
|
change these lines to this:
|
|
|
|
# How to pass a linker flag through the compiler.
|
|
wl="-Wl,"
|
|
|
|
UPDATE: This is now done automatically by the configure script. However, if
|
|
you still experience a problem, you may want to check this line in the
|
|
libtool file and make sure that it has the correct value.
|
|
|
|
* Information about building with PGI and Intel compilers is available in
|
|
INSTALL file sections 5.7 and 5.8
|
|
|
|
* In LANL QSC, the new cc compiler has problems converting small values of
|
|
long long (absolute values less than 1**-308) to double. This triggers
|
|
the test/dtypes to report failure in the
|
|
Testing random sw long double -> double conversions
|
|
If -ieee is used, the converted doubles spread over the range 0.0 to 1**-308.
|
|
If -ieee is not used, the converted double values are mostly 0.0 but
|
|
occassionaly as 1**-308. This has been reported to the system staff.
|
|
All other tests have passed.
|
|
|
|
* On AIX 5.1 when 64-bit parallel C Library is built with zlib configured in,
|
|
compilation fails for H5Zdeflate.c. To bypass the problem, remove "const"
|
|
definition in front of H5Z_DEFLATE in H5Zpkg.h line 29.
|
|
|
|
%%%%1.6.1%%%% Release Information for hdf5-1.6.1 (16/October/03)
|
|
|
|
15. Release information for HDF5 version 1.6.1
|
|
================================================
|
|
|
|
INTRODUCTION
|
|
|
|
This document describes the differences between HDF5-1.6.0 and
|
|
HDF5-1.6.1, and contains information on the platforms tested and
|
|
known problems in HDF5-1.6.1. For more details check the HISTORY.txt
|
|
file in the HDF5 source.
|
|
|
|
The HDF5 documentation can be found on the NCSA ftp server
|
|
(ftp.ncsa.uiuc.edu) in the directory:
|
|
|
|
/HDF/HDF5/docs/
|
|
|
|
For more information look at the HDF5 home page at:
|
|
|
|
http://hdf.ncsa.uiuc.edu/HDF5/
|
|
|
|
If you have any questions or comments, please send them to:
|
|
|
|
hdfhelp@ncsa.uiuc.edu
|
|
|
|
CONTENTS
|
|
|
|
- New Features
|
|
- Support for new platforms and languages
|
|
- Bug Fixes since HDF5-1.6.0
|
|
- Documentation
|
|
- Platforms Tested
|
|
- Known Problems
|
|
|
|
|
|
New Features
|
|
============
|
|
|
|
Configuration:
|
|
--------------
|
|
|
|
Library:
|
|
--------
|
|
- Added new fields to the H5G_stat_t for more information about an
|
|
object's object header. QAK 2003/10/06
|
|
- Added new H5Fget_freespace() routine to query the free space in a
|
|
given file. QAK 2003/10/06
|
|
|
|
Parallel Library:
|
|
-----------------
|
|
|
|
Tools:
|
|
------
|
|
|
|
C++ API:
|
|
--------
|
|
- Added overloaded functions read and write to H5::Attribute.
|
|
BMR - 2003/04/21
|
|
- Added an overloaded constructor H5::StrType so the need to separately
|
|
set the length of the string type can be eliminated. BMR - 2003/04/21
|
|
- Added overloaded functions read and write to H5::DataSet.
|
|
BMR - 2003/04/27
|
|
|
|
The following items were added but not documented in previous releases:
|
|
|
|
- On windows, any application, that uses the C++ API dll, must
|
|
include the name HDF5CPP_USEDLL in its project setting. (Feb 17, 2002)
|
|
BMR - 2003/10/10
|
|
- Added missing default constructor H5::H5File. (Apr 26, 2002)
|
|
BMR - 2003/10/10
|
|
- Added new member function H5::DataSet::fillMemBuf per the new C
|
|
API H5Dfill, which fills the elements in a selection for a memory
|
|
buffer with a fill value. (May 16, 2002) BMR - 2003/10/10
|
|
- Added the new member function getMemberIndex to H5::EnumType
|
|
and H5::CompType to match the new C API H5Tget_member_index. Given
|
|
the name of a member of an enumeration or compound datatype, this
|
|
new function queries the index of the member. (May 16, 2002)
|
|
BMR - 2003/10/10
|
|
- Added these member functions to H5::Group per the new C functions
|
|
H5Gget_num_objs, H5Gget_objname_by_idx and H5Gget_objtype_by_idx:
|
|
+ getNumObjs: Returns the number of objects in the group.
|
|
+ getObjnameByIdx: Retrieves the name of an object in a group,
|
|
given an index
|
|
+ getObjTypeByIdx: Returns the type of an object in a group,
|
|
given an index
|
|
(Jan 20, 2003) BMR - 2003/10/10
|
|
|
|
|
|
Support for new platforms, languages and compilers.
|
|
=======================================
|
|
- gcc 3.3.1 is supported on Linux.
|
|
|
|
|
|
Bug Fixes since HDF5-1.6.0 release
|
|
==================================
|
|
|
|
Library
|
|
-------
|
|
- Fixed incorrect datatype of the third parameter to the Fortran90
|
|
h5pset(get)_cache_f functions (INTEGER to INTEGER(SIZE_T)) EIP - 2003/10/13
|
|
- Fixed problems with accessing variable-length data datatypes on
|
|
Crays. QAK - 2003/10/10
|
|
- Fixed potential file corruption bug when too many object header
|
|
messages (probably attributes, from a user perspective) were
|
|
inserted into an object header and certain other conditions were
|
|
met. QAK - 2003/10/08
|
|
- Changed implementation of internal ID searching algorithm to avoid
|
|
O(n) behavior for many common cases. QAK - 2003/10/06
|
|
- Allow partial parallel writing to compact datasets. QAK - 2003/10/06
|
|
- Correctly create reference to shared datatype in attribute, instead
|
|
of making a copy of the shared datatype in the attribute.
|
|
QAK - 2003/10/01
|
|
- Revert changes which caused files >2GB to fail when created with
|
|
MPI-I/O file driver on certain platforms. QAK - 2003/09/16
|
|
- Allow compound datatypes to grow in size. SLU - 2003/09/10
|
|
- Detect if a type is already packed before attempting to pack it
|
|
again or check if it is locked. SLU - 2003/09/10
|
|
- Corrected bug when opening a file twice with read-only permission
|
|
for one open and then closing the read-only access file ID would
|
|
generate an error. QAK - 2003/09/10
|
|
- Corrected bug in repeated calls to H5Pget_access_plist() which would
|
|
incorrectly manage reference counts of internal information and
|
|
eventually blow up. QAK - 2003/09/02
|
|
- Return rank of the array datatype on successful call to
|
|
H5Tget_array_dims(). QAK - 2003/08/30
|
|
- Corrected bug in H5Tdetect_class which was not correctly detecting
|
|
datatype classes of fields in nested compound datatypes in some
|
|
circumstances. QAK - 2003/08/30
|
|
- Corrected bug in sieve buffer code which could cause loss of data
|
|
when a small dataset was created and deleted in quick succession.
|
|
QAK - 2003/08/27
|
|
- Corrected bug in H5Gget_objname_by_idx which was not allowing NULL
|
|
for the name when just querying for the object name's length.
|
|
QAK - 2003/08/25
|
|
- Corrected bug in variable-length string handling which could
|
|
generate a core dump on writing variable-length strings as part
|
|
of a compound datatype on certain architectures. QAK - 2003/08/25
|
|
- Corrected bug in H5Tget_native_type which would incorrectly compute
|
|
the size of certain compound datatypes and also incorrectly
|
|
compute the offset of the last field for those compound datatypes.
|
|
QAK - 2003/08/25
|
|
- Corrected bug in H5Tget_native_type which would drop string datatype
|
|
metadata (padding, etc.) QAK - 2003/08/25
|
|
- Corrected bugs in H5Gget_num_objs, H5Gget_objname_by_idx and
|
|
H5Gget_objtype_by_idx to allow them to accept location IDs, not just
|
|
group IDs. QAK - 2003/08/21
|
|
- Corrected bug when using scalar dataspace for memory selection and
|
|
operating on chunked dataset. QAK - 2003/08/18
|
|
- Corrected bugs with multiple '/' characters in names for H5Glink
|
|
and H5Gunlink. QAK - 2003/08/16
|
|
- Corrected bug with user blocks that didn't allow a user block to
|
|
be inserted in front of a file after the file was created.
|
|
QAK - 2003/08/13
|
|
- Corrected errors with using point selections to access data in
|
|
chunked datasets. QAK - 2003/07/23
|
|
- Corrected error with variable-length datatypes and chunked datasets
|
|
which caused H5Dwrite to fail sometimes. QAK - 2003/07/19
|
|
- Modified library and file format to support storing indexed storage
|
|
(chunked dataset) B-tree's with non-default internal 'K' values.
|
|
QAK - 2003/07/15
|
|
- Returned H5T_BKG_TEMP support to library after it was accidentally
|
|
removed. QAK - 2003/07/14
|
|
|
|
Configuration
|
|
-------------
|
|
- Fixed the error that caused "make install" to fail because of the
|
|
macro definition syntax of "prefix?=..." AKC - 2003/07/22
|
|
|
|
Performance
|
|
-------------
|
|
|
|
Tools
|
|
-----
|
|
- Fixed a segmentation fault of h5diff when percentage option is used.
|
|
AKC - 2003/08/27
|
|
- Switched away from tools using internal "fixtype" function(s) to use
|
|
H5Tget_native_type() internally. QAK - 2003/08/25
|
|
|
|
Documentation
|
|
-------------
|
|
- Added two missing Fortran APIs (h5pget_fapl_mpiposix_f and
|
|
h5pset_fapl_mpiposix_f) to the reference manual.
|
|
FMB - 2003/10/15
|
|
- Corrected the reference manual descriptions of H5open/h5open_f and
|
|
H5close/h5close_f to indicate that these calls are required in
|
|
Fortran90 applications. FMB - 2003/10/15
|
|
|
|
|
|
Documentation
|
|
=============
|
|
|
|
Fortran90 APIs are being integrated into the main body of the
|
|
HDF5 Reference Manual (RM). This process is complete in all RM sections
|
|
except H5P.
|
|
|
|
A PDF version of the RM will be posted on the HDF5 website
|
|
(at http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/) approximately one week
|
|
after the release.
|
|
|
|
|
|
Platforms Tested
|
|
================
|
|
|
|
AIX 5.1 (32 and 64-bit) xlc 6.0.0.2
|
|
xlf 8.1.0.3
|
|
xlC 6.0.0.4
|
|
xlc 5.0.2.5
|
|
xlf 7.1.1.2
|
|
xlC 5.0.2.5
|
|
mpcc_r 5.0.2.5
|
|
mpxlf_r 7.1.1.2
|
|
poe 3.2.0.10
|
|
Cray T3E sn6606 2.0.6.08 Cray Standard C Version 6.6.0.2
|
|
Cray Fortran Version 3.6.0.2
|
|
Cray SV1 sn9617 10.0.1.2 Cray Standard C Version 6.6.0.2
|
|
Cray Fortran Version 3.6.0.2
|
|
Cray T90IEEE 10.0.1.01y Cray Standard C Version 6.4.0.2.3
|
|
Cray Fortran Version 3.4.0.3
|
|
FreeBSD 4.9 gcc 2.95.4
|
|
g++ 2.95.4
|
|
HP-UX B.11.00 HP C HP92453-01 A.11.01.20
|
|
HP F90 v2.4
|
|
HP ANSI C++ B3910B A.03.13
|
|
HP MPI 01.07.00.00
|
|
IRIX 6.5 MIPSpro cc 7.3.1.2m
|
|
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1.3m
|
|
F90 MIPSpro 7.3.1.3m (64 only)
|
|
MPIch 1.2.4
|
|
Linux 2.4.18 gcc 2.96, 3.2.2, 3.3.1
|
|
g++ 3.2.2, 3.2.3
|
|
Intel(R) C++ Version 7.1
|
|
Intel(R) Fortran Compiler Version 7.1
|
|
PGI compilers (pgcc, pgf90, pgCC) version 4.0-2
|
|
MPIch 1.2.4
|
|
Linux 2.4.20-8 gcc 3.2.2
|
|
OSF1 V5.1 Compaq C V6.4-014
|
|
Compaq C V6.3-027
|
|
Compaq Fortran V5.5-2602
|
|
Compaq C++ V6.5-030
|
|
MPI_64bit_R5
|
|
g++ version 3.0 for C++
|
|
SunOS 5.7(32 and 64 bit) WorkShop Compilers 5.0 98/12/15 C 5.0
|
|
(Solaris 2.7) WorkShop Compilers 5.0 98/12/15 C++ 5.0
|
|
WorkShop Compilers 5.0 98/10/25
|
|
FORTRAN 90 2.0 Patch 107356-04
|
|
SunOS 5.8(32 and 64 bit) Sun WorkShop 6 update 2 C 5.3
|
|
(Solaris 2.8) Sun WorkShop 6 update 2 Fortran 90
|
|
Sun WorkShop 6 update 2 C++ 5.3
|
|
TFLOPS r1.0.4 v4.4.0 i386 pgcc Rel 3.1-4i with mpich-1.2.4 with
|
|
local modifications
|
|
IA-32 Linux 2.4.9 gcc 2.96
|
|
Intel(R) C++ Version 7.0
|
|
Intel(R) Fortran Compiler Version 7.0
|
|
|
|
IA-64 Linux 2.4.16 ia64 gcc version 2.96 20000731
|
|
Intel(R) C++ Version 7.0
|
|
Intel(R) Fortran Compiler Version 7.0
|
|
Windows 2000 (NT5.0) MSVC++ 6.0
|
|
DEC Visual Fortran 6.0
|
|
Intel C and F90 compilers version 7.1
|
|
Code Warrior 8.0
|
|
Windows XP MSVC++.NET
|
|
MAC OS X Darwin 6.8
|
|
gcc and g++ Apple Computer, Inc. GCC
|
|
version 1175, based on gcc version 3.1
|
|
|
|
|
|
|
|
Supported Configuration Features Summary
|
|
========================================
|
|
|
|
In the tables below
|
|
y = tested and supported
|
|
n = not supported or not tested in this release
|
|
x = not working in this release
|
|
dna = does not apply
|
|
( ) = footnote appears below second table
|
|
|
|
Platform C C F90 F90 C++ Shared zlib
|
|
parallel parallel libraries (4)
|
|
Solaris2.7 64-bit y y (1) y y (1) y y y
|
|
Solaris2.7 32-bit y y (1) y y (1) y y y
|
|
Solaris2.8 64-bit y y (1) y y (1) y y y
|
|
Solaris2.8 32-bit y y y y (1) y y y
|
|
IRIX6.5 y y (1) n n n y y
|
|
IRIX64_6.5 64-bit y y (2) y y y y y
|
|
IRIX64_6.5 32-bit y y (2) n n n y y
|
|
HPUX11.00 y y (1) y y y y y
|
|
OSF1 v5.1 y y y y y y y
|
|
T3E y y (5) y y (5) n n y
|
|
SV1 y y (5) y y (5) n n y
|
|
T90 IEEE y y (5) y y (5) n n y
|
|
TFLOPS n y (1) n n n n y
|
|
AIX-5.1 32-bit y y y y y n y
|
|
AIX-5.1 64-bit y y y y y n y
|
|
WinXP (6) y n n n y y y
|
|
WinXP Intel y n n n y y y
|
|
Win2000 y n y n y y y
|
|
Win2000 Intel y n y n y y y
|
|
WinNT CW y n n n n n y
|
|
Mac OS X 10.2 y n n n y y y
|
|
FreeBSD y y (1) n n y y y
|
|
Linux 2.4 gcc (3) y y (1) y (PGI) n y y y
|
|
Linux 2.4 Intel (3) y n y n y n y
|
|
Linux 2.4 PGI (3) y n y n y n y
|
|
Linux 2.4 IA32 Intel y n y n y n y
|
|
Linux 2.4 IA64 Intel y n y n y n y
|
|
|
|
|
|
ASCII Table 2 -- for RELEASE.txt
|
|
|
|
Platform static- Thread- SZIP GASS STREAM- High-level H4/H5
|
|
exec safe VFD APIs tools (7)
|
|
Solaris2.7 64-bit x y y n y y n
|
|
Solaris2.7 32-bit x y y n y y y
|
|
Solaris2.8 64-bit x y y n y y n
|
|
Solaris2.8 32-bit x y y n y y y
|
|
IRIX6.5 x n y n y y y
|
|
IRIX64_6.5 64-bit x y y y y y y
|
|
IRIX64_6.5 32-bit x y y y y y y
|
|
HPUX11.00 x n y n y y y
|
|
OSF1 v5.1 y n y n y y y
|
|
T3E y n n n y y y
|
|
SV1 y n n n y y y
|
|
T90 IEEE y n n n y y n
|
|
TFLOPS y n n n n n n
|
|
AIX-5.1 32-bit y n y n y y y
|
|
AIX-5.1 64-bit y n y n y y y
|
|
WinXP (6) y n y n n y y
|
|
WinXP Intel y n y n n y y
|
|
Win2000 y n y n n y y
|
|
Win2000 Intel y n y n n y y
|
|
WinNT CW y n y n n y y
|
|
Mac OS X 10.2 y n y n y y n
|
|
FreeBSD y y y n y y y
|
|
Linux 2.4 gcc (3) y y y n y y y
|
|
Linux 2.4 Intel (3) y n y n y n n
|
|
Linux 2.4 PGI (3) y n y n y n n
|
|
Linux 2.4 IA32 Intel y n y n y y y
|
|
Linux 2.4 IA64 Intel y n y n y y y
|
|
|
|
Notes: (1) Using mpich 1.2.4.
|
|
(2) Using mpt and mpich 1.2.4.
|
|
(3) Linux 2.4 with GNU, Intel, and PGI compilers, respectively.
|
|
(4) Shared libraries are provided only for the C library, except
|
|
on Windows where they are provided for C and C++.
|
|
(5) Using mpt.
|
|
(6) Binaries only; source code for this platform is not being
|
|
released at this time.
|
|
(7) Includes the H4toH5 Library and the h4toh5 and h5toh4
|
|
utilities.
|
|
Compiler versions for each platform are listed in the preceding
|
|
"Platforms Tested" table.
|
|
|
|
|
|
|
|
Known Problems
|
|
==============
|
|
* Fortran subroutine h5pget_driver_f doesn't return a correct driver information.
|
|
The fix willl be available in the 1.6.2 release.
|
|
* There are two h5dump xml tests(h5dump --xml thlink.h5 and h5dump --xml tmany.h5)
|
|
failed on windows xp with .NET for debug and debug dll. Release and Release
|
|
dll work fine.
|
|
|
|
* The h5dump tests may fail to match the expected output on some platforms
|
|
(e.g. parallel jobs, Windows) where the error messages directed to
|
|
"stderr" do not appear in the "right order" with output from stdout.
|
|
This is not an error.
|
|
|
|
* The stream-vfd test uses ip port 10007 for testing. If another
|
|
application is already using that port address, the test will hang
|
|
indefinitely and has to be terminated by the kill command. To try the
|
|
test again, change the port address in test/stream_test.c to one not
|
|
being used in the host.
|
|
|
|
* The --enable-static-exec configure flag fails to compile for Solaris
|
|
platforms. This is due to the fact that not all of the system
|
|
libraries on Solaris are available in a static format.
|
|
|
|
The --enable-static-exec configure flag also fails to correctly compile
|
|
on IBM SP2 platform for the serial mode. The parallel mode works fine
|
|
with this option.
|
|
|
|
It is suggested that you don't use this option on these platforms
|
|
during configuration.
|
|
|
|
* With the gcc 2.95.2 compiler, HDF 5 uses the `-ansi' flag during
|
|
compilation. The ANSI version of the compiler complains about not being
|
|
able to handle the `long long' datatype with the warning:
|
|
|
|
warning: ANSI C does not support `long long'
|
|
|
|
This warning is innocuous and can be safely ignored.
|
|
|
|
|
|
* The Stream VFD was not tested yet under Windows. It is not supported
|
|
in the TFLOPS machine.
|
|
|
|
|
|
* The ./dsets tests failed in the TFLOPS machine if the test program,
|
|
dsets.c, is compiled with the -O option. The hdf5 library still works
|
|
correctly with the -O option. The test program works fine if it is
|
|
compiled with -O1 or -O0. Only -O (same as -O2) causes the test
|
|
program to fail.
|
|
|
|
* Certain platforms give false negatives when testing h5ls:
|
|
- Cray J90 and Cray T90IEEE give errors during testing when displaying
|
|
some floating-point values. These are benign differences due to
|
|
the different precision in the values displayed and h5ls appears to
|
|
be dumping floating-point numbers correctly.
|
|
|
|
* Before building HDF5 F90 Library from source on Crays
|
|
replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src
|
|
subdirectory in the top level directory with the Cray-specific files
|
|
from the site:
|
|
|
|
* On some platforms that use Intel compilers to build HDF5 fortran library,
|
|
compilation may fail for fortranlib_test.f90, fflush1.f90 and fflush2.f90
|
|
complaining about exit subroutine. Comment out the line
|
|
IF (total_error .ne. 0) CALL exit (total_error)
|
|
|
|
ftp://hdf.ncsa.uiuc.edu/pub/outgoing/hdf5/hdf5-1.6.0/F90_source_for_Crays
|
|
|
|
* On IA32 and IA64 systems, if you use a compiler other than GCC (such as
|
|
Intel's ecc or icc compilers), you will need to modify the generated
|
|
"libtool" program after configuration is finished. On or around line 104 of
|
|
the libtool file, there are lines which look like:
|
|
|
|
# How to pass a linker flag through the compiler.
|
|
wl=""
|
|
|
|
change these lines to this:
|
|
|
|
# How to pass a linker flag through the compiler.
|
|
wl="-Wl,"
|
|
|
|
UPDATE: This is now done automatically by the configure script. However, if
|
|
you still experience a problem, you may want to check this line in the
|
|
libtool file and make sure that it has the correct value.
|
|
|
|
* Information about building with PGI and Intel compilers is available in
|
|
INSTALL file sections 5.7 and 5.8
|
|
%%%%1.6.0%%%% Release Information for hdf5-1.6.0 (03/July/03)
|
|
|
|
14. Release information for HDF5 version 1.6.0
|
|
================================================
|
|
|
|
|
|
INTRODUCTION
|
|
|
|
This document describes the differences between HDF5-1.4.* and
|
|
HDF5-1.6.0, and contains information on the platforms tested and
|
|
known problems in HDF5-1.6.0. For more details check the HISTORY.txt
|
|
file in the HDF5 source.
|
|
|
|
The HDF5 documentation can be found on the NCSA ftp server
|
|
(ftp.ncsa.uiuc.edu) in the directory:
|
|
|
|
/HDF/HDF5/docs/
|
|
|
|
For more information look at the HDF5 home page at:
|
|
|
|
http://hdf.ncsa.uiuc.edu/HDF5/
|
|
|
|
If you have any questions or comments, please send them to:
|
|
|
|
hdfhelp@ncsa.uiuc.edu
|
|
|
|
CONTENTS
|
|
|
|
- New Features
|
|
- Support for new platforms and languages
|
|
- Bug Fixes since HDF5-1.4.0
|
|
- Platforms Tested
|
|
- Known Problems
|
|
|
|
|
|
New Features
|
|
============
|
|
|
|
Configuration:
|
|
--------------
|
|
The following flags have been added to the configuration script:
|
|
--enable-hdf5v1_4 Compile the HDF5 v1.4 compatibility interface
|
|
--enable-filters=all Turn on all internal I/O filters. One may also
|
|
specify a comma-separated list of filters or the
|
|
word no. The default is all internal I/O filters.
|
|
--with-mpe=DIR Use MPE instrumentation [default=no]
|
|
--with-szlib=DIR Use szlib library for external szlib I/O filter
|
|
[default=no]
|
|
|
|
Library:
|
|
--------
|
|
Summary: This release has the following new features that are not
|
|
available in 1.4.* releases
|
|
|
|
1. Generic properties to give application more control on I/O pipeline
|
|
2. Time allocation and fill value properties
|
|
3. New filters: external compression filter szip
|
|
internal shuffling and checksum filters
|
|
4. Compact storage layout for datasets
|
|
5. Redesigned I/O pipeline for better performance.
|
|
|
|
For more information see
|
|
http://hdf.ncsa.uiuc.edu/HDF5/doc_resource/SZIP/index.html
|
|
http://hdf.ncsa.uiuc.edu/HDF5/doc/ADGuide.html
|
|
http://hdf.ncsa.uiuc.edu/HDF5/doc/ADGuide/Changes.html
|
|
|
|
Complete list of changes:
|
|
|
|
* Changed dataset modification time to _not_ be updated when raw data is
|
|
written to a dataset. The modification time is only updated when the
|
|
dataset's metadata is modified. QAK - 2003/06/10
|
|
* Changed H5Sget_select_bounds to use 'hssize_t *' for start and end
|
|
parameters, instead of 'hsize_t *', to better match other parts of the
|
|
dataspace API. QAK - 2003/06/04
|
|
* Changed raw data I/O to only access each chunk once, improving performance
|
|
in many situations with hyperslabs and large chunks or chunks with
|
|
filters. These improvements are currently limited to serial I/O, with
|
|
similar parallel I/O improvements forthcoming sometime in the future.
|
|
QAK - 2003/05/07
|
|
* Added parameter to the MPI/POSIX driver. If GPFS is enabled (by
|
|
modifying the H5FDmpiposix.c file to uncomment the USE_GPFS_HINTS
|
|
macro), then this extra parameter will turn GPFS hints on and off
|
|
during runtime. BW - 2003/05/05
|
|
* Added option to print 1-byte integer datasets as ASCII to h5dump. BW -
|
|
2003/04/30
|
|
* Added a new utility "h5fc". It can be used to compile easily Fortran
|
|
programs which use HDF5. It automatically uses the compiler the HDF5
|
|
library was built with and links in any libraries HDF5 requires.
|
|
BW - 2003/04/10
|
|
* Added new dataset creation property list functions for working with
|
|
I/O filters: H5Pmodify_filter, H5Pget_filter_by_id and
|
|
H5Pall_filters_avail. Also changed H5Zregister to use new method
|
|
of registering filters with library. QAK - 2003/04/08
|
|
* The first version of szip compression support were implemented.
|
|
User should have static szlib library installed. Using function
|
|
H5Pset_szip to pass the szip parameters to the HDF5 library.
|
|
More detailed decription of the process will be followed.
|
|
KY-2003/04/01
|
|
* Added Fletcher32 checksum as a filter in pipeline. It only works in
|
|
chunked dataset. SLU - 2003/2/11
|
|
* MPICH/MPE instrumentation feature added. Use --with-mpe[=DIR] to configure
|
|
it. AKC - 2003/1/3
|
|
* New functions H5Gget_num_objs, H5Gget_objname_by_idx and H5Gget_objtype_by_idx
|
|
are added to the library. SLU - 2002/11/25
|
|
* H5Dget_offset is added to return the offset of a dataset's data relative
|
|
to the beginning of the file. SLU - 2002/11/7
|
|
* Functions H5Tget_native_type and H5Tis_variable_str are added. The first
|
|
one reconstructs a datatype based on native memory datatype. The second
|
|
one checks if a datatype is variable string. SLU - 2002/11/6
|
|
* Added environment variable "HDF5_DISABLE_VERSION_CHECK", which disables
|
|
the version checking between the header files and the library linked into
|
|
an application if set to '1'. This should be used with caution, mis-
|
|
matched headers and library binaries can cause _serious_ problems.
|
|
QAK - 2002/10/15
|
|
* Added new API function to get the name of an object in a file, using
|
|
an open ID (hid_t). QAK - 2002/10/14
|
|
* Added API functions to return pointer to low-level file handle
|
|
(H5Fget_vfd_handle and H5FDget_vfd_handle) and related property list
|
|
setting functions(H5Pset_family_offset and H5Pset_multi_type).
|
|
SLU - 2002/09/30
|
|
* Changed "H5P[set|get]_space_time" functions to "H5P[set|get]_alloc_time"
|
|
Unify all symbolic names for these functions to use "alloc time" instead
|
|
of other names. QAK - 2002/09/13
|
|
* Added "H5D_SPACE_ALLOC_INCR" setting to H5D_SPACE_ALLOC_EARLY and
|
|
H5D_SPACE_ALLOC_LATE for H5Dset_space_time(). This allows chunked
|
|
datasets to be incrementally allocated as in the 1.4.x branch.
|
|
QAK - 2002/08/27
|
|
* Compact dataset is added to the library. The data will be stored in
|
|
the header message of dataset layout. Space allocation time has to be
|
|
EARLY. No hyperslab is supported for parallel collective write. There
|
|
is no API changes except activating H5Pset_layout and H5Pget_layout for
|
|
compact dataset. -SLU, 2002/8/20
|
|
* Added 'closing' parameter to VFL 'flush' callback function and H5FDflush.
|
|
This allows the library to indicate that the file will be closed
|
|
immediately following the call to 'flush' and can be used to avoid actions
|
|
that are duplicated in the VFL 'close' callback function. QAK - 2002/05/20
|
|
* Added feature to parallel chunk allocation routine to not write fill
|
|
values to chunks allocated if the user has set the "fill time" to never.
|
|
This can improve parallel I/O performance for chunked
|
|
datasets. QAK - 2002/05/17
|
|
* New functions H5Glink2 and H5Gmove2 were added to allow link and move to
|
|
be in different locations in the same file. The old functions H5Glink
|
|
and H5Gmove remain valid. SLU - 2002/04/26
|
|
* Fill-value's behaviors for contiguous dataset have been redefined.
|
|
Basicly, dataset won't allocate space until it's necessary. Full details
|
|
are available at http://hdf.ncsa.uiuc.edu/RFC/Fill_Value, at this moment.
|
|
SLU - 2002/04/11
|
|
* Added new routine "H5Dfill" to fill a selection with a particular value
|
|
in memory. QAK - 2002/04/09
|
|
* Improved performance of "regular" hyperslab I/O when using MPI-IO and the
|
|
datatype conversion is unneccessary. QAK - 2002/04/02
|
|
* Improved performance of single hyperslab I/O when datatype conversion is
|
|
unneccessary. QAK - 2002/04/02
|
|
* Added new "H5Sget_select_type" API function to determine which type of
|
|
selection is defined for a dataspace ("all", "none", "hyperslab" or
|
|
"point"). QAK - 2002/02/07
|
|
* Added support to read/write portions of chunks directly, if they are
|
|
uncompressed and too large to cache. This should speed up I/O on chunked
|
|
datasets for a few more cases. QAK - 2002/01/31
|
|
* Added H5Rget_obj_type() API function, which performs the same functionality
|
|
as H5Rget_object_type(), but requires the reference type as a parameter
|
|
in order to correctly handle dataset region references. Moved
|
|
H5Rget_object_type() to be only compiled into the library when v1.4
|
|
compatibility is enabled.
|
|
* Added a new file access property, file close degree, to control file
|
|
close behavior. It has four values, H5F_CLOSE_WEAK, H5F_CLOSE_SEMI,
|
|
H5F_CLOSE_STRONG, and H5F_CLOSE_DEFAULT. Two correspont functions
|
|
H5Pset_fclose_degree and H5Pget_fclose_degree are also provided. Two
|
|
new functions H5Fget_obj_count and H5Fget_obj_ids are offerted to assist
|
|
this new feature. For full details, please refer to the reference
|
|
manual under the description of H5Fcreate, H5Fopen, H5Fclose and the
|
|
functions mentioned above.
|
|
* Removed H5P(get|set)_hyper_cache API function, since the property is no
|
|
longer used.
|
|
* Improved performance of non-contiguous hyperslabs (built up with
|
|
several hyperslab selection calls).
|
|
* Improved performance of single, contiguous hyperslabs when reading or
|
|
writing.
|
|
* As part of the transition to using generic properties everywhere, the
|
|
parameter of H5Pcreate changed from H5P_class_t to hid_t, as well
|
|
the return type of H5Pget_class changed from H5P_class_t to hid_t.
|
|
Further changes are still necessary and will be documented here as they
|
|
are made.
|
|
* Improved regular hyperslab I/O by about a factor of 6 or so.
|
|
* Modified the Pablo build procedure to permit building of the instrumented
|
|
library to link either with the Trace libraries as before or with the
|
|
Pablo Performance Caputure Facility.
|
|
* Added new F90 APIs for generic properties, new filters, and
|
|
time/space allocation properties.
|
|
* C++ API:
|
|
- Added two new member functions: Exception::getFuncName() and
|
|
Exception::getCFuncName() to provide the name of the member
|
|
function, where an exception is thrown.
|
|
- IdComponent::operator= becomes a virtual function because
|
|
DataType, DataSpace, and PropList provide their own
|
|
implementation. The new operator= functions invoke H5Tcopy,
|
|
H5Scopy, and H5Pcopy to make a copy of a datatype, dataspace,
|
|
and property list, respectively.
|
|
|
|
Parallel Library:
|
|
-----------------
|
|
|
|
Tools:
|
|
------
|
|
* When the "-S" option for "simple" output is chosen, h5ls now displays
|
|
modification times of datasets in UTC instead of local time.
|
|
QAK - 2003/06/06
|
|
* h5diff to compare two HDF5 files was added
|
|
* h5import to import ascii and binary data to an HDF5 file was added.
|
|
Old h5import tool in the tools/misc directory was renamed to
|
|
h5createU8 to reflect its purpose. h5createU8 will be deleted in
|
|
1.6.1 release.
|
|
* Two new scripts h5fc and h5c++ were added to compile F90 and C++
|
|
HDF5 applications.
|
|
|
|
Support for new platforms, languages and compilers.
|
|
=======================================
|
|
* Added C++ API support on HPUX11.00. BMR - 2003/03/19
|
|
* Absoft compiler is supported for Fortran HDF5 Library.
|
|
When building with Absoft compiler, add -DH5_ABSOFT to
|
|
C compilation flags to get correct names of C functions
|
|
called by Fortran APIs.
|
|
|
|
|
|
Bug Fixes since HDF5-1.4.0 release
|
|
==================================
|
|
|
|
Library
|
|
-------
|
|
* Don't attempt to perform collective I/O on chunked datasets with
|
|
parallel I/O. QAK - 2003/06/05
|
|
* The library now correctly reuses space when objects are deleted in the
|
|
file. This should be handled correctly for every situation, except
|
|
datasets with variable-length datatypes are not returning the space they
|
|
use in the global heap currently. QAK - 2003/04/13
|
|
* Fixed error in B-tree deletion routine which could cause groups to be
|
|
corrupted when objects are removed from them.
|
|
QAK - 2003/04/11
|
|
* Fixed error in file space freeing code which could cause metadata to
|
|
fail to be written to the file.
|
|
QAK - 2003/04/11
|
|
* -O caused errors in AIX 5.x platforms. Removed it from
|
|
--enable-production mode. AKC - 2003/03/31
|
|
* Corrected memory/resource leaks in per-thread key information when
|
|
thread-safe operation was enabled. QAK - 2003/02/07
|
|
* Improved error assertion for nil VL strings, making it fails with error
|
|
stack instead of just assertion failure. SLU - 2002/12/16
|
|
* Added two new API functions: H5Zunregister & H5Zfilter_avail.
|
|
QAK - 2002/11/16
|
|
* Add data shuffle filter(source code H5Zshuffle.c), the combination of the
|
|
shuffling and compression can make data compression better without suffering
|
|
much encoding and decoding CPU time for many application datasets(especially
|
|
for floating point data). This adds a new API function: H5Pset_shuffle.
|
|
KY - 2002/11/13
|
|
* Allow scalar dataspaces to be used for parallel I/O. QAK - 2002/11/05
|
|
* New functions H5Gget_comment(modification), H5Aget_storage_size,
|
|
H5Arename. SLU - 2002/10/29
|
|
* Fixed an assertion of H5S_select_iterate that did not account for scalar
|
|
type that has no dimension sizes. AKC - 2002/10/15
|
|
* Partially fixed space allocation inefficiencies in the file by
|
|
improving our algorithms for re-using freed space. QAK - 2002/08/27
|
|
* Fixed data corruption problem which could occur when fill values were
|
|
written to a contiguously stored dataset in parallel. QAK - 2002/08/27
|
|
* Fixed VL memory leak when data is overwritten. The heap objects holding
|
|
old data are freed. If the fill value writting time is set to
|
|
H5D_FILL_TIME_NEVER, the library prohibits user to create VL type dataset.
|
|
The library free all the heap objects storing VL type if there is nested
|
|
VL type(a VL type contains another VL type). SLU - 2002/07/10
|
|
* Tweaked a few API functions to use 'size_t' instead of 'unsigned' or
|
|
'hsize_t', which may cause errors in some cases.
|
|
|
|
|
|
Configuration
|
|
-------------
|
|
* Included the both the examples of fortran and c++ "make check-install"
|
|
testing. This tests the correctness of the h5fc command. AKC - 2003/04/22
|
|
* When using gcc 3.x, we use -std=c99 instead of -ansi for compiling.
|
|
QAK - 2003/04/11
|
|
* IA64 platform has its own configure setting and use Intel Compilers as
|
|
the default compilers (were gcc and pgf90 before.) This also eliminated
|
|
the segmentation fault in the fortran test. The missing reference of
|
|
"exit" is fixed too. AKC - 2003/04/02
|
|
|
|
Performance
|
|
-------------
|
|
* Improved dataset creation time by about 30% (relative to the 1.4.x
|
|
branch).
|
|
|
|
Tools
|
|
-----
|
|
|
|
* Added a -force option to h5redeploy. AKC - 2003/03/04
|
|
* The VL string bug(data and datatype cannot be shown) in h5dump is fixed.
|
|
-SLU - 2002/11/18
|
|
* Fixed segfault if h5dump was invoked with some options but no file
|
|
(e.g., h5dump -H). -AKC, 2002/10/15
|
|
* Fixed so that the "-i" flag works correctly with the h5dumper.
|
|
* Fixed segfault when "-v" flag was used with the h5dumper.
|
|
|
|
|
|
Documentation
|
|
-------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Platforms Tested
|
|
================
|
|
|
|
AIX 5.1 (32 and 64-bit) xlc 6.0.0.2
|
|
xlf 8.1.0.3
|
|
xlC 6.0.0.4
|
|
xlc 5.0.2.5
|
|
xlf 7.1.1.2
|
|
xlC 5.0.2.5
|
|
mpcc_r 5.0.2.5
|
|
mpxlf_r 7.1.1.2
|
|
poe 3.2.0.10
|
|
Cray T3E sn6606 2.0.6.08 Cray Standard C Version 6.6.0.2
|
|
Cray Fortran Version 3.6.0.0.2
|
|
mpt 2.2.0.0
|
|
Cray SV1 sn9617 10.0.1.2 Cray Standard C Version 6.6.0.2
|
|
mpt 2.2.0.0
|
|
Cray Fortran Version 3.6.0.0.2
|
|
Cray T90IEEE 10.0.1.01y Cray Standard C Version 6.4.0.2.3
|
|
Cray Fortran Version 3.4.0.3
|
|
mpt 2.1.0.0
|
|
FreeBSD 4.7 gcc 2.95.4
|
|
g++ 2.95.5
|
|
HP-UX B.11.00 HP C HP92453-01 A.11.01.20
|
|
HP F90 v2.4
|
|
HP ANSI C++ B3910B A.03.13
|
|
MPIch 1.2.4
|
|
IRIX 6.5 MIPSpro cc 7.30
|
|
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1.3m
|
|
F90 MIPSpro 7.3.1.3m (64 only)
|
|
MPIch 1.2.4
|
|
Linux 2.4.18 gcc 2.96, 3.2.2, 3.2.3
|
|
g++ 3.2.2, 3.2.3
|
|
Intel(R) C++ Version 7.1
|
|
Intel(R) Fortran Compiler Version 7.1
|
|
PGI compilers (pgcc, pgf90, pgCC) version 4.0-2
|
|
MPIch 1.2.4
|
|
OSF1 V5.1 Compaq C V6.4-014
|
|
Compaq C V6.3-027
|
|
Compaq Fortran V5.5-1877
|
|
Compaq C++ V6.5-014
|
|
MPI_64bit_R5
|
|
g++ version 3.0 for C++
|
|
SunOS 5.7 WorkShop Compilers 5.0 98/12/15 C 5.0
|
|
(Solaris 2.7) WorkShop Compilers 5.0 98/12/15 C++ 5.0
|
|
WorkShop Compilers 5.0 98/10/25
|
|
FORTRAN 90 2.0 Patch 107356-04
|
|
SunOS 5.8/32 Sun WorkShop 6 update 2 C 5.3
|
|
(Solaris 2.8) Sun WorkShop 6 update 2 Fortran 90
|
|
Sun WorkShop 6 update 2 C++ 5.3
|
|
SunOS 5.8/64 Sun WorkShop 6 update 2 C 5.3
|
|
(Solaris 2.8) Sun WorkShop 6 update 2 Fortran 90
|
|
Sun WorkShop 6 update 2 C++ 5.3
|
|
TFLOPS r1.0.4 v4.3.3 i386 pgcc Rel 3.1-4i with mpich-1.2.4 with
|
|
local modifications
|
|
IA-32 Linux 2.4.9 gcc 2.96
|
|
Intel(R) C++ Version 7.0
|
|
Intel(R) Fortran Compiler Version 7.0
|
|
|
|
IA-64 Linux 2.4.16 ia64 gcc version 2.96 20000731
|
|
Intel(R) C++ Version 7.0
|
|
Intel(R) Fortran Compiler Version 7.0
|
|
Windows 2000 (NT5.0) MSVC++ 6.0
|
|
DEC Visual Fortran 6.0
|
|
Intel C and F90 compilers version 7.1
|
|
Code Warrior 8.0
|
|
Windows XP MSVC++.NET
|
|
MAC OS X Darwin 6.5
|
|
gcc and g++ Apple Computer, Inc. GCC
|
|
version 1161, based on gcc version 3.1
|
|
|
|
|
|
|
|
Supported Configuration Features Summary
|
|
========================================
|
|
|
|
In the tables below
|
|
y = tested and supported
|
|
n = not supported or not tested in this release
|
|
x = not working in this release
|
|
dna = does not apply
|
|
( ) = footnote appears below second table
|
|
|
|
Platform C C F90 F90 C++ Shared zlib
|
|
parallel parallel libraries (4)
|
|
Solaris2.7 64-bit y y (1) y y (1) y y y
|
|
Solaris2.7 32-bit y y (1) y y (1) y y y
|
|
Solaris2.8 64-bit y y (1) y y (1) y y y
|
|
Solaris2.8 32-bit y y y y (1) y y y
|
|
IRIX6.5 y y (1) n n n y y
|
|
IRIX64_6.5 64-bit y y (2) y y y y y
|
|
IRIX64_6.5 32-bit y y (2) n n n y y
|
|
HPUX11.00 y y (1) y y y y y
|
|
OSF1 v5.1 y y y y y y y
|
|
T3E y y (5) y y (5) n n y
|
|
SV1 y y (5) y y (5) n n y
|
|
T90 IEEE y y (5) y y (5) n n y
|
|
TFLOPS n y (1) n n n n y
|
|
AIX-5.1 32-bit y y y y y n y
|
|
AIX-5.1 64-bit y y y y y n y
|
|
WinXP (6) y n n n y y y
|
|
WinXP Intel y n n n y y y
|
|
Win2000 y n y n y y y
|
|
Win2000 Intel y n y n y y y
|
|
WinNT CW y n n n n n y
|
|
Mac OS X 10.2 y n n n y y y
|
|
FreeBSD y y (1) n n y y y
|
|
Linux 2.4 gcc (3) y y (1) y (PGI) n y y y
|
|
Linux 2.4 Intel (3) y n y n y n y
|
|
Linux 2.4 PGI (3) y n y n y n y
|
|
Linux 2.4 IA32 Intel y n y n y n y
|
|
Linux 2.4 IA64 Intel y n y n y n y
|
|
|
|
|
|
ASCII Table 2 -- for RELEASE.txt
|
|
|
|
Platform static- Thread- SZIP GASS STREAM- High-level H4/H5
|
|
exec safe VFD APIs tools (7)
|
|
Solaris2.7 64-bit x y y n y y n
|
|
Solaris2.7 32-bit x y y n y y y
|
|
Solaris2.8 64-bit x y y n y y n
|
|
Solaris2.8 32-bit x y y n y y y
|
|
IRIX6.5 x n y n y y y
|
|
IRIX64_6.5 64-bit x y y y y y y
|
|
IRIX64_6.5 32-bit x y y y y y y
|
|
HPUX11.00 x n y n y y y
|
|
OSF1 v5.1 y n y n y y y
|
|
T3E y n n n y y y
|
|
SV1 y n n n y y y
|
|
T90 IEEE y n n n y y n
|
|
TFLOPS y n n n n n n
|
|
AIX-5.1 32-bit y n y n y y y
|
|
AIX-5.1 64-bit y n y n y y y
|
|
WinXP (6) y n y n n y y
|
|
WinXP Intel y n y n n y y
|
|
Win2000 y n y n n y y
|
|
Win2000 Intel y n y n n y y
|
|
WinNT CW y n y n n y y
|
|
Mac OS X 10.2 y n y n y y n
|
|
FreeBSD y y y n y y y
|
|
Linux 2.4 gcc (3) y y y n y y y
|
|
Linux 2.4 Intel (3) y n y n y n n
|
|
Linux 2.4 PGI (3) y n y n y n n
|
|
Linux 2.4 IA32 Intel y n y n y y y
|
|
Linux 2.4 IA64 Intel y n y n y y y
|
|
|
|
Notes: (1) Using mpich 1.2.4.
|
|
(2) Using mpt and mpich 1.2.4.
|
|
(3) Linux 2.4 with GNU, Intel, and PGI compilers, respectively.
|
|
(4) Shared libraries are provided only for the C library, except
|
|
on Windows where they are provided for C and C++.
|
|
(5) Using mpt.
|
|
(6) Binaries only; source code for this platform is not being
|
|
released at this time.
|
|
(7) Includes the H4toH5 Library and the h4toh5 and h5toh4
|
|
utilities.
|
|
Compiler versions for each platform are listed in the preceding
|
|
"Platforms Tested" table.
|
|
|
|
|
|
|
|
Known Problems
|
|
==============
|
|
|
|
* PGI C++ compiler fails when compiling the C++ library's tests.
|
|
Therefore, we cannot verify that the C++ library built with the PGI C++
|
|
compiler is correct.
|
|
|
|
* The h5dump tests may fail to match the expected output on some platforms
|
|
(e.g. parallel jobs, Windows) where the error messages directed to
|
|
"stderr" do not appear in the "right order" with output from stdout.
|
|
This is not an error.
|
|
|
|
* The stream-vfd test uses ip port 10007 for testing. If another
|
|
application is already using that port address, the test will hang
|
|
indefinitely and has to be terminated by the kill command. To try the
|
|
test again, change the port address in test/stream_test.c to one not
|
|
being used in the host.
|
|
|
|
* The --enable-static-exec configure flag fails to compile for Solaris
|
|
platforms. This is due to the fact that not all of the system
|
|
libraries on Solaris are available in a static format.
|
|
|
|
The --enable-static-exec configure flag also fails to correctly compile
|
|
on IBM SP2 platform for the serial mode. The parallel mode works fine
|
|
with this option.
|
|
|
|
It is suggested that you don't use this option on these platforms
|
|
during configuration.
|
|
|
|
* With the gcc 2.95.2 compiler, HDF 5 uses the `-ansi' flag during
|
|
compilation. The ANSI version of the compiler complains about not being
|
|
able to handle the `long long' datatype with the warning:
|
|
|
|
warning: ANSI C does not support `long long'
|
|
|
|
This warning is innocuous and can be safely ignored.
|
|
|
|
|
|
* The Stream VFD was not tested yet under Windows. It is not supported
|
|
in the TFLOPS machine.
|
|
|
|
|
|
* The ./dsets tests failed in the TFLOPS machine if the test program,
|
|
dsets.c, is compiled with the -O option. The hdf5 library still works
|
|
correctly with the -O option. The test program works fine if it is
|
|
compiled with -O1 or -O0. Only -O (same as -O2) causes the test
|
|
program to fail.
|
|
|
|
* Certain platforms give false negatives when testing h5ls:
|
|
- Cray J90 and Cray T90IEEE give errors during testing when displaying
|
|
some floating-point values. These are benign differences due to
|
|
the different precision in the values displayed and h5ls appears to
|
|
be dumping floating-point numbers correctly.
|
|
|
|
* Before building HDF5 F90 Library from source on Crays
|
|
replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src
|
|
subdirectory in the top level directory with the Cray-specific files
|
|
from the site:
|
|
|
|
* On some platforms that use Intel compilers to build HDF5 fortran library,
|
|
compilation may fail for fortranlib_test.f90, fflush1.f90 and fflush2.f90
|
|
complaining about exit subroutine. Comment out the line
|
|
IF (total_error .ne. 0) CALL exit (total_error)
|
|
|
|
ftp://hdf.ncsa.uiuc.edu/pub/outgoing/hdf5/hdf5-1.6.0/F90_source_for_Crays
|
|
|
|
* On IA32 and IA64 systems, if you use a compiler other than GCC (such as
|
|
Intel's ecc or icc compilers), you will need to modify the generated
|
|
"libtool" program after configuration is finished. On or around line 104 of
|
|
the libtool file, there are lines which look like:
|
|
|
|
# How to pass a linker flag through the compiler.
|
|
wl=""
|
|
|
|
change these lines to this:
|
|
|
|
# How to pass a linker flag through the compiler.
|
|
wl="-Wl,"
|
|
|
|
UPDATE: This is now done automatically by the configure script. However, if
|
|
you still experience a problem, you may want to check this line in the
|
|
libtool file and make sure that it has the correct value.
|
|
|
|
* Information about building with PGI and Intel compilers is available in
|
|
INSTALL file sections 5.7 and 5.8
|
|
-----------------------------------------------------------------------
|
|
%%%%1.4.5%%%% Release Information for hdf5-1.4.5 (02/February/03)
|
|
|
|
|
|
13. Release information for HDF5 version 1.4.5
|
|
==============================================================================
|
|
|
|
|
|
INTRODUCTION
|
|
|
|
This document describes the differences between HDF5-1.4.4 and
|
|
HDF5-1.4.5, and contains information on the platforms tested and
|
|
known problems in HDF5-1.4.5. For additional information check the
|
|
HISTORY.txt file in the HDF5 source.
|
|
|
|
The HDF5 documentation can be found on the NCSA ftp server
|
|
(ftp.ncsa.uiuc.edu) in the directory:
|
|
|
|
/HDF/HDF5/docs/
|
|
|
|
For more information, see the HDF5 home page at:
|
|
|
|
http://hdf.ncsa.uiuc.edu/HDF5/
|
|
|
|
If you have any questions or comments, please send them to:
|
|
|
|
hdfhelp@ncsa.uiuc.edu
|
|
|
|
|
|
CONTENTS
|
|
|
|
- New Features
|
|
- Bug Fixes since HDF5-1.4.4
|
|
- Performance Improvements
|
|
- Documentation
|
|
- Platforms Tested
|
|
- Supported Configuration Features
|
|
- Known Problems
|
|
|
|
|
|
New Features
|
|
============
|
|
o Configuration
|
|
================
|
|
* Added "unofficial support" for building with a C++ compiler (or at least
|
|
not failing badly when building with a C++ compiler). QAK - 2003/01/09
|
|
* Added "unofficial support" for AIX 64bits. See INSTALL for configure
|
|
details. AKC - 2002/08/29
|
|
* Added "--with-dmalloc" flag, to easily enable support for the 'dmalloc'
|
|
debugging malloc implementation. QAK - 2002/07/15
|
|
|
|
o Library
|
|
=========
|
|
o General
|
|
---------
|
|
* Allow scalar dataspaces to be used for parallel I/O. QAK - 2002/11/05
|
|
* Added environment variable "HDF5_DISABLE_VERSION_CHECK", which disables
|
|
the version checking between the header files and the library linked
|
|
into an application if set to '1'. This should be used with caution,
|
|
mis-matched headers and library binaries can cause _serious_ problems.
|
|
QAK - 2002/10/15
|
|
* Partially fixed space allocation inefficiencies in the file by
|
|
improving our algorithms for re-using freed space. QAK - 2002/08/27
|
|
* API tracing has been improved. Nested API calls don't screw up the
|
|
output format; function call and return event times can be logged;
|
|
total time spent in each function can be logged. The following
|
|
HDF5_DEBUG environment variable words affect tracing:
|
|
trace -- turn on/off basic tracing
|
|
ttimes -- turn on tracing and report event times and
|
|
time spent in each API function.
|
|
ttop -- turn on tracing but display only top-level
|
|
API calls.
|
|
|
|
o APIs
|
|
------
|
|
* Several missing fortran APIs have been added to the library:
|
|
|
|
h5get_libversion_f h5tget_member_index_f h5dget_storage_size_f
|
|
h5check_version_f h5tvlen_create_f h5dvlen_get_max_len_f
|
|
h5garbage_collect_f h5dwrite_vl_f
|
|
h5dont_atexit_f h5dread_vl_f
|
|
|
|
Functions h5dvlen_get_max_len_f, h5dwrite_vl_f, and h5dread_vl_f support
|
|
VL Length C APIs functionality for integer, real and string datatypes.
|
|
See HDF5 Reference Manual and HDF5 FORTRAN90 User's Notes for more
|
|
information and for the functions description.
|
|
|
|
o Parallel library
|
|
==================
|
|
* The MPI-posix virtual file driver makes gpfs_fcntl() hints to tell
|
|
the underlying GPFS file system to avoid prefetching byte range
|
|
tokens if USE_GPFS_HINTS is defined when this file is compiled.
|
|
This temporary solution is intended to be removed once the HDF5
|
|
API supports the necessary functionality that makes it possible
|
|
for this sort of thing do be done at a higher software layer.
|
|
RPM - 2002/12/03
|
|
* Added MPI-posix VFL driver. This VFL driver uses MPI functions to
|
|
coordinate actions, but performs I/O directly with POSIX sec(2)
|
|
(i.e. open/close/read/write/etc.) calls. This driver should _NOT_
|
|
be used to access files that are not on a parallel filesystem.
|
|
The following API functions were added:
|
|
herr_t H5Pset_fapl_mpiposix(hid_t fapl_id, MPI_Comm comm);
|
|
herr_t H5Pget_fapl_mpiposix(hid_t fapl_id, MPI_Comm *comm/*out*/);
|
|
QAK - 2002/07/15
|
|
|
|
|
|
|
|
o Support for new platforms and languages
|
|
=========================================
|
|
* C++ API now works on the Origin2000 (IRIX6.5.14.) BMR - 2002/11/14
|
|
|
|
|
|
o Misc.
|
|
=========================================
|
|
HDF5 1.4.5 works with Portland Group Compilers (pgcc, pgf90 and pgCC
|
|
version 4.0-2) on Linux 2.4
|
|
|
|
|
|
Bug Fixes since HDF5-1.4.4 Release
|
|
==================================
|
|
* H5Fopen without the H5F_ACC_CREAT flag should not succeed in creating
|
|
a new file with the 'core' VFL driver. QAK - 2003/01/24
|
|
* Corrected metadata caching bug in parallel I/O which could cause hangs
|
|
when chunked datasets were accessed with independent transfer mode.
|
|
QAK - 2003/01/23
|
|
* Allow opening objects with unknown object header messages.
|
|
QAK - 2003/01/21
|
|
* Added improved error assertion for nil VL strings. It return error
|
|
stack instead of a simple assertion. SLU - 2002/12/16
|
|
* Fixed h5dump bug(cannot dump data and datatype) for VL string.
|
|
SLU - 2002/11/18
|
|
* Fixed error condition where "none" selections were not being handled
|
|
correctly in serial & parallel. QAK - 2002/10/29
|
|
* Fixed problem where optimized hyperslab routines were incorrectly
|
|
invoked for parallel I/O operations in collective mode. QAK - 2002/07/22
|
|
* Fixed metadata corruption problem which could occur when many objects
|
|
are created in a file during parallel I/O. QAK - 2002/07/19
|
|
* Fixed minor problem with configuration when users specified /usr/include
|
|
and /usr/lib for the --with-* options that some compilers can't
|
|
handle. BW - 2003/01/23
|
|
|
|
|
|
|
|
Documentation
|
|
=============
|
|
New PDF files are not available for this release.
|
|
|
|
|
|
Platforms Tested
|
|
================
|
|
|
|
AIX 5.1 (32 and 64-bit) C for AIX Compiler, Version 6
|
|
xlf 8.1.0.2
|
|
poe 3.2.0.11
|
|
Cray T3E sn6606 2.0.6.08 Cray Standard C Version 6.6.0.1.3
|
|
Cray Fortran Version 3.6.0.0.12
|
|
Cray SV1 10.0.1. 0 Cray Standard C Version 6.6.0.1.3
|
|
Cray Fortran Version 3.6.0.0.12
|
|
Cray T90IEEE 10.0.1.01u Cray Standard C Version 6.4.0.2.3
|
|
Cray Fortran Version 3.4.0.3
|
|
FreeBSD 4.7 gcc 2.95.4
|
|
g++ 2.95.5
|
|
HP-UX B.11.00 HP C HP92453-01 A.11.01.20
|
|
HP F90 v2.4
|
|
IRIX 6.5 MIPSpro cc 7.30
|
|
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1.3m
|
|
F90 MIPSpro 7.3.1.3m (64 only)
|
|
Linux 2.4.18 gcc 3.2.1
|
|
g++ 3.2.1
|
|
Intel(R) C++ Version 6.0
|
|
Intel(R) Fortran Compiler Version 6.0
|
|
PGI compilers (pgcc, pgf90, pgCC) version 4.0-2
|
|
pgf90 3.2-4
|
|
OSF1 V5.1 Compaq C V6.4-014
|
|
Compaq Fortran X5.4A-1684
|
|
gcc version 3.0 for C++
|
|
SunOS 5.7 WorkShop Compilers 5.0 98/12/15 C 5.0
|
|
(Solaris 2.7) WorkShop Compilers 5.0 98/12/15 C++ 5.0
|
|
WorkShop Compilers 5.0 98/10/25
|
|
FORTRAN 90 2.0 Patch 107356-04
|
|
SunOS 5.8/32 Sun WorkShop 6 update 1 C 5.2 2000/09/11
|
|
(Solaris 2.8) Sun WorkShop 6 update 1 Fortran 95 6.1
|
|
Patch 109503-07 2001/08/11
|
|
Sun WorkShop 6 update 1 C++ 5.2 Patch
|
|
109508-04 2001/07/11
|
|
SunOS 5.8/64 Sun WorkShop 6 update 1 C 5.2 2000/09/11
|
|
(Solaris 2.8) Sun WorkShop 6 update 1 Fortran 95 6.1
|
|
Patch 109503-07 2001/08/11
|
|
Sun WorkShop 6 update 1 C++ 5.2 Patch
|
|
109508-04 2001/07/11
|
|
TFLOPS r1.0.4 v4.3.3 i386 pgcc Rel 3.1-4i with mpich-1.2.4 with
|
|
local modifications
|
|
IA-32 Linux 2.4.9 gcc 2.96
|
|
Intel(R) C++ Version 7.0
|
|
Intel(R) Fortran Compiler Version 7.0
|
|
|
|
IA-64 Linux 2.4.16 ia64 gcc version 2.96 20000731
|
|
Intel(R) C++ Version 7.0
|
|
Intel(R) Fortran Compiler Version 7.0
|
|
Windows 2000 (NT5.0) MSVC++ 6.0
|
|
DEC Visual Fortran 6.0
|
|
Windows XP .NET
|
|
Windows NT4.0 Code Warrior 6.0
|
|
MAC OS X Darwin 6.2
|
|
gcc and g++ Apple Computer, Inc. GCC
|
|
version 1161, based on gcc version 3.1
|
|
|
|
|
|
|
|
Supported Configuration Features Summary
|
|
========================================
|
|
|
|
In the tables below
|
|
y = tested and supported
|
|
n = not supported or not tested in this release
|
|
x = not working in this release
|
|
dna = does not apply
|
|
( ) = footnote appears below second table
|
|
|
|
|
|
Platform C C F90 F90 C++ Shared zlib
|
|
parallel parallel libraries (5)
|
|
Solaris2.6 y n y n y y y
|
|
Solaris2.7 64-bit y y (1) y y (1) y y y
|
|
Solaris2.7 32-bit y y (1) y y (1) y y y
|
|
Solaris2.8 64-bit y n y y (1) y y y
|
|
Solaris2.8 32-bit y n y y (1) y y y
|
|
IRIX6.5 y y (1) n n n y y
|
|
IRIX64_6.5 64-bit y y (2) y y y y y
|
|
IRIX64_6.5 32-bit y y (2) n n n y y
|
|
HPUX11.00 y y (1) y n n y y
|
|
OSF1 v5.1 y n y n y y y
|
|
T3E (6) y n y n n n y
|
|
SV1 y n y n n n y
|
|
T90 IEEE y n y n n n y
|
|
TFLOPS n y (1) n n n n y
|
|
AIX-5.1 32-bit y y y y y n y
|
|
AIX-5.1 64-bit y y y y y n y
|
|
WinXP (7) y n n n y y y
|
|
WinNT/2000 y n y n y y y
|
|
WinNT CW y n n n n n y
|
|
Mac OS X 10.2 y n n n y y y
|
|
FreeBSD y y (1) n n y y y
|
|
Linux 2.2 y y (1) y y (1) y y y
|
|
Linux 2.4 gcc (3) y y (1) y n y y y
|
|
Linux 2.4 Intel (3) y n y n n n y
|
|
Linux 2.4 PGI (3) y n y n y n y
|
|
Linux 2.4 IA32 y n y n n n y
|
|
Linux 2.4 IA64 y n y n n n y
|
|
|
|
|
|
Platform static- Thread- SRB GASS STREAM-
|
|
exec safe VFD
|
|
Solaris2.6 x y n n y
|
|
Solaris2.7 64-bit x y n n y
|
|
Solaris2.7 32-bit x y n n y
|
|
Solaris2.8 64-bit x n n n y
|
|
Solaris2.8 32-bit x y n n y
|
|
IRIX6.5 x n n n y
|
|
IRIX64_6.5 64-bit x y n y y
|
|
IRIX64_6.5 32-bit x y n y y
|
|
HPUX11.00 x n n n y
|
|
OSF1 v5.1 y n n n y
|
|
T3E (6) y n n n y
|
|
SV1 y n n n y
|
|
T90 IEEE y n n n y
|
|
TFLOPS y n n n n
|
|
AIX-5.1 32-bit y n n n y
|
|
AIX-5.1 64-bit y n n n y
|
|
WinXP (7) dna n n n n
|
|
WinNT/2000 dna n n n n
|
|
WinNT CW dna n n n n
|
|
Mac OS X 10.2 y n n n y
|
|
FreeBSD y y n n y
|
|
Linux 2.2 y y n n y
|
|
Linux 2.4 gcc (3) y y n n y
|
|
Linux 2.4 Intel (3) y n n n y
|
|
Linux 2.4 PGI (3) y n n n y
|
|
Linux 2.4 IA32 y n n n y
|
|
Linux 2.4 IA64 y n n n y
|
|
|
|
Notes: (1) Using mpich 1.2.4.
|
|
(2) Using mpt and mpich 1.2.4.
|
|
(3) Linux 2.4 with GNU, Intel, and PGI compilers.
|
|
(4) No HDF4-related tools.
|
|
(5) Shared libraries are provided only for the C library,
|
|
except on Windows where they are provided for all languages.
|
|
(6) Debug mode only.
|
|
(7) Binaries only; source code for this platform is not being
|
|
released at this time.
|
|
|
|
|
|
Known Problems
|
|
==============
|
|
|
|
* On Linux 2.4 IA64, Fortran test fails for h5dwrite_vl_f
|
|
for integer and real base datatypes.
|
|
|
|
* When fortran library is built with Intel compilers, compilation
|
|
for fflush1.f90, fflush2.f90 and fortanlib_test.f90 will fail
|
|
complaining about EXEC function. Comment the call to EXEC subroutine
|
|
in each program, or get a patch for the HDF5 Fortran source code.
|
|
|
|
* Fortran external dataset test fails on Linux 2.4 with pgf90 compiler.
|
|
|
|
* On Windows, h5dump may abort printing if a VL string is longer than 4096
|
|
bytes due to a compiler problem. It'll be fixed in v1.6 release.
|
|
|
|
* Datasets or attributes which have a variable-length string datatype are
|
|
not printing correctly with h5dump and h5ls.
|
|
|
|
* When a dataset with the variable-length datatype is overwritten,
|
|
the library can develop memory leaks that cause the file to become
|
|
unnecessarily large. This is planned to be fixed in the next release.
|
|
|
|
* On the SV1, the h5ls test fails due to a difference between the
|
|
SV1 printf precision and the printf precision on other platforms.
|
|
|
|
* The h5dump tests may fail to match the expected output on some
|
|
platforms (e.g. SP2 parallel, Windows) where the error messages
|
|
directed to "stderr" do not appear in the "right order" with output
|
|
from stdout. This is not an error.
|
|
|
|
* The --enable-static-exec configure flag fails to compile for HP-UX
|
|
11.00 platforms.
|
|
|
|
* The executables are always dynamic on IRIX64 6.5(64 and n32) and
|
|
IRIX 6.5 even if they are configured with --enable-static-exec.
|
|
|
|
* IRIX 6.5 fails to compile if configured with --enable-static-exec.
|
|
|
|
* The executables are always dynamic on Solaris 2.7 ans 2.8(64 and n32)
|
|
even if they are configured with --enable-static-exec.
|
|
|
|
* The HDF5_MPI_OPT_TYPES optimization code in the parallel HDF5 will cause
|
|
a hang in some cases when chunked storage is used. This is now set to
|
|
be off by default. One may turn it on by setting the environment
|
|
variable HDF5_MPI_OPT_TYPES to a non-zero value such as 1.
|
|
|
|
* On OSF1 v5.1 and IA32 h5dumpgentst program that generates test files
|
|
for h5dump, gives segmentation fault.
|
|
|
|
* On Windows platforms, C and Fortran tests fail with the debug DLL version
|
|
of the Library if built from all_withf90.zip file.
|
|
|
|
* On Cray T3E (sn6606 2.0.6.08 unicosmk CRAY T3E) with Cray Standard C Version 6.6.0.1.3
|
|
compiler optimization causes errors in many HDF5 Library tests. Use -g -h zero flags
|
|
to build HDF5 Library.
|
|
|
|
* On Cray SV1 10.0.1. 0 datatype convertion test fails. Please check HDF FTP site
|
|
if patch is available. We will try to provide one in the nearest future.
|
|
|
|
* For configuration, building and testing with Intel and PGI compilers see
|
|
corresponding section in INSTALL file.
|
|
|
|
|
|
%%%%1.4.4%%%% Release Information for hdf5-1.4.4 (02/July/02)
|
|
|
|
12. Release information for HDF5 version 1.4.4
|
|
==============================================================================
|
|
|
|
INTRODUCTION
|
|
|
|
This document describes the differences between HDF5-1.4.3 and
|
|
HDF5-1.4.4, and contains information on the platforms tested and
|
|
known problems in HDF5-1.4.4. For more details check the HISTORY.txt
|
|
file in the HDF5 source.
|
|
|
|
The HDF5 documentation can be found on the NCSA ftp server
|
|
(ftp.ncsa.uiuc.edu) in the directory:
|
|
|
|
/HDF/HDF5/docs/
|
|
|
|
For more information, see the HDF5 home page at:
|
|
|
|
http://hdf.ncsa.uiuc.edu/HDF5/
|
|
|
|
If you have any questions or comments, please send them to:
|
|
|
|
hdfhelp@ncsa.uiuc.edu
|
|
|
|
|
|
CONTENTS
|
|
|
|
- New Features
|
|
- Bug Fixes since HDF5-1.4.3
|
|
- Performance Improvements
|
|
- Documentation
|
|
- Platforms Tested
|
|
- Supported Configuration Features
|
|
- Known Problems
|
|
|
|
|
|
New Features
|
|
============
|
|
o Configuration
|
|
================
|
|
* The H4 to H5 tools have been removed from the main source and placed
|
|
in a separate package. You can get these tools from the HDF ftp site
|
|
(ftp://hdf.ncsa.uiuc.edu/). The "--with-hdf4" command-line option
|
|
during configure is no longer valid. BW - 2002/06/25
|
|
|
|
o Library
|
|
=========
|
|
o General
|
|
---------
|
|
* Fill-value forward-compatibility with release 1.5 was added. SLU -
|
|
2002/04/11
|
|
* A new query function H5Tget_member_index has been added for compound
|
|
and enumeration data types. This function retrieves a member's index
|
|
by name. SLU - 2002/04/05
|
|
* Added serial multi-gigabyte file size test. "test/big -h" shows
|
|
the help page. AKC - 2002/03/29
|
|
|
|
o APIs
|
|
------
|
|
* The F90 subroutines h5dwrite_f, h5dread_f, h5awrite_f, and h5aread_f
|
|
were overloaded with a "dims" argument of type INTEGER(HSIZE_T) to
|
|
specify the size of the array. We recommend using these subroutines
|
|
with the new type; module subroutines that accept "dims" as an i
|
|
INTEGER array of size 7 will be deprecated in release 1.6.
|
|
EIP - 2002/05/06
|
|
|
|
o Performance
|
|
-------------
|
|
* Added internal "small data" aggregation, which can reduce the number of
|
|
actual I/O calls made, improving performance. QAK - 2002/06/05
|
|
* Improved internal metadata aggregation, which can reduce the number of
|
|
actual I/O calls made, improving performance. Additionally, this can
|
|
reduce the size of files produced. QAK - 2002/06/04
|
|
* Improved internal metadata caching, which can reduce the number of
|
|
actual I/O calls made by a substantial amount, improving
|
|
performance. QAK - 2002/06/03
|
|
|
|
|
|
o Parallel library
|
|
==================
|
|
* Fixed bug in parallel I/O routines where a collective I/O which used
|
|
MPI derived types, followed by an independent I/O would cause the library
|
|
to hang. QAK 2002/06/24
|
|
* Added environment variable flag to control whether creating MPI derived
|
|
types is preferred or not. This can affect performance, depending on
|
|
which way the MPI-I/O library is optimized. The default is set to
|
|
prefer MPI derived types for collective raw data transfers; setting the
|
|
HDF5_MPI_PREFER_DERIVED_TYPES environment variable to "0" (i.e.:
|
|
"setenv HDF5_MPI_PREFER_DERIVED_TYPES 0") changes the preference to avoid
|
|
using them whenever possible. QAK - 2002/06/19
|
|
* Changed MPI I/O routines to avoid creating MPI derived types (and thus
|
|
needing to set the file view) for contiguous selections within datasets.
|
|
This should result in some performance improvement for those types of
|
|
selections. QAK - 2002/06/18
|
|
* Changed MPI type support for collective I/O to be enabled by default.
|
|
This can be disabled by setting the HDF5_MPI_OPT_TYPES environment
|
|
variable to the value "0". QAK - 2002/06/14
|
|
* Allowed chunks in chunked datasets to be cached when parallel file is
|
|
opened for read-only access (bug #709). QAK - 2002/06/10
|
|
* Changed method for allocating chunked dataset blocks to only allocate
|
|
blocks that don't already exist, instead of attempting to create all the
|
|
blocks all the time. This improves performance for chunked
|
|
datasets. QAK - 2002/05/17
|
|
* Allowed the call to MPI_File_sync to be avoided when the file is going to
|
|
immediately be closed, improving performance. QAK - 2002/05/13
|
|
* Allowed the metadata writes to be shared among all processes, easing the
|
|
burden on process 0. QAK - 2002/05/10
|
|
|
|
|
|
o Tools
|
|
=======
|
|
* h5redeploy utility was added. It updates HDF5 compiler tools
|
|
after the HDF5 software has been installed in a new location.
|
|
|
|
|
|
o Support for new platforms and languages
|
|
=========================================
|
|
* Parallel Fortran Library works now on HP-UX B.11.00 Sys V.
|
|
EIP - 2002/05/06
|
|
* Intel C++ and F90 compilers Version 6.0 are supported on Linux 2.4.
|
|
* Intel C++ compilers Version 6.0 are supported on Windows 2000.
|
|
|
|
|
|
o Misc.
|
|
=========================================
|
|
* zlib has been moved out of the Windows source release. Users should go to
|
|
the ZLIB homepage(http://www.zlib.org) to download the corresponding
|
|
zlib library.
|
|
* The Windows binary release is built with the old version of the zlib
|
|
library. We expect users to use zlib 1.1.4 to build with the source
|
|
release.
|
|
* In the Windows-specific install document, we specify how to test backward
|
|
compatibility. However, in this release, we are not testing the backward
|
|
compatibility of HDF5.
|
|
|
|
|
|
Bug Fixes since HDF5-1.4.3 Release
|
|
==================================
|
|
* Fixed bug in chunking routines where they were using internal allocation
|
|
free routines, instead of malloc/free, preventing user filters from
|
|
working correctly. Chunks are now allocated/freed with malloc/free and
|
|
so should the chunks in user filters. QAK 2002/06/18
|
|
* Fixed bug where regular hyperslab selection could get incorrectly
|
|
transferred when the number of elements in a row did not fit evenly
|
|
into the buffer provided. QAK 2002/06/12
|
|
* Fixed bug (#499) which allowed an "empty" compound or enumerated datatype
|
|
(one with no members) to be used to create a dataset or to be committed
|
|
to a file. QAK - 2002/06/11
|
|
* Fixed bug (#777) which allowed a compound datatype to be inserted into
|
|
itself. QAK - 2002/06/10
|
|
* Fixed bug (#789) where creating 1-D dataset region reference caused the
|
|
library to go into infinite loop. QAK - 2002/06/10
|
|
* Fixed bug (#699, fix provided by a user) where a scalar dataspace was
|
|
written to the file and then subsequently queried with the
|
|
H5Sget_simple_extent_type function; type was reported as H5S_SIMPLE
|
|
instead of H5S_SCALAR. EIP - 2002/06/04
|
|
* Clear symbol table node "dirty" flag when flushing symbol tables to
|
|
disk, to reduce I/O calls made & improve performance. QAK - 2002/06/03
|
|
* Fixed bug where an object's header could get corrupted in certain
|
|
obscure situations when many objects were created in the
|
|
file. QAK - 2002/05/31
|
|
* Fixed bug where read/write intent in file IDs created with H5Freopen
|
|
was not being kept the same as the original file. QAK - 2002/05/14
|
|
* Fixed bug where selection offsets were not being used when iterating
|
|
through point and hyperslab selections with
|
|
H5Diterate(). QAK - 2002/04/29
|
|
* Fixed bug where the data for several level deep nested compound &
|
|
variable-length datatypes used for datasets were getting corrupted when
|
|
written to the file. QAK - 2002/04/17
|
|
* Fixed bug where selection offset was being ignored for certain hyperslab
|
|
selections when optimized I/O was being performed. QAK - 2002/04/02
|
|
* Fixed limitation in h5dumper with object names which reached over 1024
|
|
characters in length. We can now handle arbitrarily larger sizes for
|
|
object names. BW - 2002/03/29
|
|
* Fixed bug where variable-length string type did not behave as a
|
|
string. SLU - 2002/03/28
|
|
* Fixed bug in H5Gget_objinfo() which was not setting the 'fileno'
|
|
of the H5G_stat_t struct. QAK - 2002/03/27
|
|
* Fixed data corruption bug in hyperslab routines when contiguous
|
|
hyperslab that spans entire dimension and is larger than type
|
|
conversion buffer is attempted to be read. QAK - 2002/03/26
|
|
|
|
|
|
Performance Improvements
|
|
========================
|
|
This release of the HDF5 library has been extensively tuned to improve
|
|
performance, especially to improve parallel I/O performance.
|
|
Most of the specific information for particular performance improvements
|
|
is mentioned in the "New Features" and "Bug Fixes since HDF5-1.4.3" sections
|
|
of this document, but in general, the library should make fewer and larger
|
|
I/O requests when accessing a file. Additionally, improvements to the parallel
|
|
I/O portions of the library should have reduced the communications and barriers
|
|
used in various internal algorithms, improving the performance of the library.
|
|
However, with the extensive changes to some portions of the library that
|
|
were required for these improvements, some errors or unanticipated results may
|
|
have been introduced also. Please report any problems encountered to our
|
|
support team at hdfhelp@ncsa.uiuc.edu.
|
|
Hopefully these improvements will benefit all HDF5 applications, but if
|
|
there are particular I/O patterns that appear to be slower than necessary,
|
|
please send e-mail to hdfhelp@ncsa.uiuc.edu with a sample program showing the
|
|
problem behavior; we will look into the issue to see if it is possible to
|
|
address it.
|
|
|
|
|
|
Documentation
|
|
=============
|
|
* Documentation was updated for the hdf5-1.4.4 release.
|
|
* A new "HDF5 User's Guide" is under development. See
|
|
http://hdf.ncsa.uiuc.edu/HDF5/doc_dev_snapshot/H5_NewUG/current/.
|
|
* A "Parallel HDF5 Tutorial" is available at
|
|
http://hdf.ncsa.uiuc.edu/HDF5/doc/Tutor/.
|
|
* The "HDF5 Tutorial" is not distributed with this release. It is
|
|
available at http://hdf.ncsa.uiuc.edu/HDF5/doc/Tutor/.
|
|
|
|
|
|
Platforms Tested
|
|
================
|
|
|
|
AIX 4.3.3.0 (IBM SP powerpc) xlc 5.0.2.0
|
|
mpcc_r 5.0.2.0
|
|
xlf 07.01.0000.0002
|
|
mpxlf 07.01.0000.0002
|
|
AIX 4.3 (IBM SP RS6000) C for AIX Compiler, Version 5.0.2.0
|
|
xlf 7.1.0.2
|
|
poe 3.1.0.12 (includes mpi)
|
|
AIX 5.1 xlc 5.0.2.0
|
|
xlf 07.01.0000.0002
|
|
mpcc_r 5.0.2.0; mpxlf_r 07.01.0000.0002
|
|
Cray T3E sn6711 2.0.5.57 Cray Standard C Version 6.5.0.3
|
|
Cray Fortran Version 3.5.0.4
|
|
Cray SV1 10.0.1.1 Cray Standard C Version 6.5.0.3
|
|
Cray Fortran Version 3.5.0.4
|
|
FreeBSD 4.6 gcc 2.95.4
|
|
g++ 2.95.4
|
|
HP-UX B.10.20 HP C HP92453-01 A.10.32.30
|
|
HP F90 v2.3
|
|
HP-UX B.11.00 HP C HP92453-01 A.11.01.20
|
|
HP F90 v2.4
|
|
HP-UX B.11.00 SysV HP C HP92453-01 A.11.01.20
|
|
HP F90 v2.4
|
|
HP MPI [not a product] (03/24/2000) B6060BA
|
|
IRIX 6.5 MIPSpro cc 7.30
|
|
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1.3m
|
|
F90 MIPSpro 7.3.1.3m (64 only)
|
|
Linux 2.4.9-31smp gcc 2.95.3
|
|
g++ 2.95.3
|
|
Intel(R) C++ Version 6.0
|
|
Intel(R) Fortran Compiler Version 6.0
|
|
MPICH 1.2.2
|
|
Linux 2.2.18smp gcc 2.95.2
|
|
gcc 2.95.2 with mpich 1.2.1
|
|
g++ 2.95.2
|
|
pgf90 3.2-4
|
|
OSF1 V5.1 Compaq C V6.4-014
|
|
Compaq Fortran V5.5-1877-48BBF
|
|
gcc version 3.0 for C++
|
|
SunOS 5.7 WorkShop Compilers 5.0 98/12/15 C 5.0
|
|
(Solaris 2.7) WorkShop Compilers 5.0 98/12/15 C++ 5.0
|
|
WorkShop Compilers 5.0 98/10/25
|
|
FORTRAN 90 2.0 Patch 107356-04
|
|
SunOS 5.8/32 Sun WorkShop 6 update 1 C 5.2 2000/09/11
|
|
(Solaris 2.8) Sun WorkShop 6 update 1 Fortran 95 6.1
|
|
Patch 109503-07 2001/08/11
|
|
Sun WorkShop 6 update 1 C++ 5.2 Patch
|
|
109508-04 2001/07/11
|
|
SunOS 5.8/64 Sun WorkShop 6 update 1 C 5.2 2000/09/11
|
|
(Solaris 2.8) Sun WorkShop 6 update 1 Fortran 95 6.1
|
|
Patch 109503-07 2001/08/11
|
|
Sun WorkShop 6 update 1 C++ 5.2 Patch
|
|
109508-04 2001/07/11
|
|
TFLOPS r1.0.4 v4.2.2 i386 pgcc Rel 3.1-4i with mpich-1.2.3 with
|
|
local modifications
|
|
IA-32 Linux 2.4.9 cc Intel 5.0.1
|
|
gcc 2.96
|
|
Intel(R) C++ Version 6.0
|
|
Intel(R) Fortran Compiler Version 6.0
|
|
|
|
IA-64 Linux 2.4.16 ia64 gcc version 2.96 20000731
|
|
Intel(R) C++ Version 6.0
|
|
Intel(R) Fortran Compiler Version 6.0
|
|
Windows 2000 (NT5.0) MSVC++ 6.0
|
|
DEC Visual Fortran 6.0
|
|
Windows NT4.0 MSVC++ 6.0
|
|
DEC Visual Fortran 6.0
|
|
Windows NT4.0 Code Warrior 6.0
|
|
|
|
|
|
Supported Configuration Features Summary
|
|
========================================
|
|
|
|
In the tables below
|
|
y = tested and supported
|
|
n = not supported or not tested in this release
|
|
x = not working in this release
|
|
( ) = footnote appears below second table
|
|
|
|
|
|
Platform C C F90 F90 C++ Shared zlib Tools
|
|
parallel parallel libraries(5)
|
|
Solaris2.6 y n y n y y y y
|
|
Solaris2.7 64 y y (1) y n y y y y
|
|
Solaris2.7 32 y y (1) y n y y y y
|
|
Solaris2.8 64 y n y n y y y y
|
|
Solaris2.8 32 y n y n y y y y
|
|
IRIX6.5 y y (1) n n n y y y
|
|
IRIX64_6.5 64 y y (2) y y n y y y
|
|
IRIX64_6.5 n32 y y (2) n n n y y y
|
|
HPUX10.20 y n y n n y y y
|
|
HPUX11.00 y n y n n y y y
|
|
HPUX11 SysV y y y y n y y y
|
|
OSF1 v5.1 y n y n y y y y
|
|
T3E y y y y n n y y
|
|
SV1 y n y n n n y y
|
|
TFLOPS n y (1) n n n n y y (4)
|
|
AIX-4.3 y y y y y n y y
|
|
AIX-5.1 y y y y n n y y
|
|
WinNT/2000 y n y n y y y y
|
|
WinNT CW y n n n n n y y
|
|
FreeBSD y n n n y y y y
|
|
Linux 2.2 y y (1) y n y y y y
|
|
Linux 2.4 y y (1) n n y y y y
|
|
Linux 2.4 Intel(6) y n y n y n y y
|
|
Linux 2.4 IA32 y n y n n n y y
|
|
Linux 2.4 IA64 y n y n n n y y
|
|
|
|
|
|
Platform 1.2 static- Thread- SRB GASS STREAM-
|
|
compatibility exec safe VFD
|
|
Solaris2.6 y x y n n y
|
|
Solaris2.7 64 y x y n n y
|
|
Solaris2.7 32 y x y n n y
|
|
Solaris2.8 64 y y n n n y
|
|
Solaris2.8 32 y x y n n y
|
|
IRIX6.5 y x n n n y
|
|
IRIX64_6.5 64 y x y n y y
|
|
IRIX64_6.5 n32 y x y n y y
|
|
HPUX10.20 y y n n n y
|
|
HPUX11.00 y x n n n y
|
|
HPUX11 SysV y x n n n y
|
|
OSF1 v5.1 y y n n n y
|
|
T3E y y n n n y
|
|
SV1 y y n n n y
|
|
TFLOPS y y n n n n
|
|
AIX-4.3 y y (3) n n n y
|
|
AIX-5.1 y y n n n y
|
|
WinNT/2000 y y n n n n
|
|
WinNT CW n n n n n n
|
|
FreeBSD y y y n n y
|
|
Linux 2.2 y y y n n y
|
|
Linux 2.4 y y y n n y
|
|
Linux 2.4 Intel(6) y y n n n y
|
|
Linux 2.4 IA32 y y n n n y
|
|
Linux 2.4 IA64 y y n n n y
|
|
|
|
|
|
Footnotes: (1) Using mpich.
|
|
(2) Using mpt and mpich.
|
|
(3) When configured with static-exec enabled, tests fail in
|
|
serial mode.
|
|
(4) No HDF4-related tools.
|
|
(5) Shared libraries are provided only for the C library,
|
|
except on Windows where they are provided for all languages.
|
|
(6) Linux 2.4 with Intel compilers.
|
|
|
|
|
|
Known Problems
|
|
==============
|
|
|
|
* Datasets or attributes which have a variable-length string datatype are
|
|
not printing correctly with h5dump and h5ls.
|
|
|
|
* When a dataset with the variable-length datatype is overwritten,
|
|
the library can develop memory leaks that cause the file to become
|
|
unnecessarily large. This is planned to be fixed in the next release.
|
|
|
|
* On the SV1, the h5ls test fails due to a difference between the
|
|
SV1 printf precision and the printf precision on other platforms.
|
|
|
|
* The h5dump tests may fail to match the expected output on some
|
|
platforms (e.g. SP2 parallel, Windows) where the error messages
|
|
directed to "stderr" do not appear in the "right order" with output
|
|
from stdout. This is not an error.
|
|
|
|
* The --enable-static-exec configure flag fails to compile for HP-UX
|
|
11.00 platforms.
|
|
|
|
* The executables are always dynamic on IRIX64 6.5(64 and n32) and
|
|
IRIX 6.5 even if they are configured with --enable-static-exec.
|
|
|
|
* IRIX 6.5 fails to compile if configured with --enable-static-exec.
|
|
|
|
* The HDF5_MPI_OPT_TYPES optimization code in the parallel HDF5 will cause
|
|
a hang in some cases when chunked storage is used. This is now set to
|
|
be off by default. One may turn it on by setting the environment
|
|
variable HDF5_MPI_OPT_TYPES to a non-zero value such as 1.
|
|
|
|
* On IA32 and IA64 systems, if you use a compiler other than GCC (such as
|
|
Intel's ecc or icc compilers), you will need to modify the generated
|
|
"libtool" program after configuration is finished. On or around line 104
|
|
of the libtool file, there are lines which look like:
|
|
|
|
# How to pass a linker flag through the compiler.
|
|
wl=""
|
|
|
|
Change these lines to this:
|
|
|
|
# How to pass a linker flag through the compiler.
|
|
wl="-Wl,"
|
|
|
|
* To build the Fortran library using Intel compilers, one has to
|
|
x modify the source code in the fortran/src directory to remove the
|
|
!DEC and !MS compiler directives.
|
|
x The build will fail in the fortran/test directory and then in the
|
|
fortran/examples directory; to proceed, edit the work.pcl files in
|
|
those directories to contain two lines
|
|
|
|
work.pc
|
|
../src/work.pc
|
|
|
|
* To build the Fortran library on IA64 use
|
|
setenv CC "ecc -DIA64"
|
|
setenv F9X "efc -cl,work.pcl"
|
|
before running configure and see the steps described above.
|
|
|
|
|
|
%%%%1.4.3%%%% Release Information for hdf5-1.4.3 (18/Februaru/02)
|
|
|
|
11. Release information for HDF5 version 1.4.3
|
|
==============================================================================
|
|
|
|
|
|
INTRODUCTION
|
|
|
|
This document describes the differences between HDF5-1.4.2 and
|
|
HDF5-1.4.3, and contains information on the platforms tested and
|
|
known problems in HDF5-1.4.2. For more details check the HISTORY.txt
|
|
file in the HDF5 source.
|
|
|
|
The HDF5 documentation can be found on the NCSA ftp server
|
|
(ftp.ncsa.uiuc.edu) in the directory:
|
|
|
|
/HDF/HDF5/docs/
|
|
|
|
For more information look at the HDF5 home page at:
|
|
|
|
http://hdf.ncsa.uiuc.edu/HDF5/
|
|
|
|
If you have any questions or comments, please send them to:
|
|
|
|
hdfhelp@ncsa.uiuc.edu
|
|
|
|
|
|
CONTENTS
|
|
|
|
- New Features
|
|
- Bug Fixes since HDF5-1.4.2
|
|
- Documentation
|
|
- Platforms Tested
|
|
- Supported Configuration Features
|
|
- Known Problems
|
|
|
|
|
|
New Features
|
|
============
|
|
o Configuration
|
|
================
|
|
* Can use just enable-threadsafe if the C compiler has built-in pthreads
|
|
support.
|
|
|
|
o Library
|
|
=========
|
|
o General
|
|
---------
|
|
* Added a new test to verify the information provided by the configure
|
|
command.
|
|
* Changed internal error handling macros to reduce code size of library by
|
|
about 10%.
|
|
|
|
o APIs
|
|
------
|
|
* Changed prototype for H5Awrite from:
|
|
H5Awrite(hid_t attr_id, hid_t type_id, void *buf)
|
|
to:
|
|
H5Awrite(hid_t attr_id, hid_t type_id, const void *buf)
|
|
* The H5Pset_fapl_split() accepts raw and meta file names similar to the
|
|
syntax of H5Pset_fapl_multi() in addition to what it used to accept.
|
|
|
|
C++ API:
|
|
* Added operator= to class PredType
|
|
* Add the overloaded member function Attribute::getName to return
|
|
the attribute name's length as in C API. Note that the current
|
|
Attribute::getName, that returns "string", is still available.
|
|
* Following the change in the C library, the corresponding C++ API
|
|
is changed from:
|
|
void Attribute::write( const DataType& mem_type, void *buf )
|
|
to:
|
|
void Attribute::write( const DataType& mem_type, const void *buf )
|
|
|
|
o Performance
|
|
-------------
|
|
* Added perform programs to test the HDF5 library performance. Programs
|
|
are installed in directory perform/.
|
|
* Improved performance of byte-swapping during data conversions.
|
|
* Improved performance of single, contiguous hyperslabs when reading or
|
|
writing.
|
|
* Added support to read/write portions of chunks directly, if they are
|
|
uncompressed and too large to cache. This should speed up I/O on chunked
|
|
datasets for a few more cases. -QAK, 1/31/02
|
|
|
|
o Parallel Library
|
|
==================
|
|
* Parallel C HDF5 now works on HP-UX platforms, Compaq clusters,
|
|
Linux clusters, Cplants (alpha-linux clusters).
|
|
|
|
o Tools
|
|
=======
|
|
* A helper script called ``h5cc'', which helps compilation of HDF5
|
|
programs, is now distributed with HDF5. See the reference manual
|
|
for information on how to use this feature.
|
|
* The H5Dumper can now dump comments associated with groups. -WCW 01-05-02
|
|
|
|
o Support for new platforms and languages
|
|
=========================================
|
|
* HDF5 C++ Library is supported on Windows platforms (shared and static)
|
|
* HDF5 F90 shared library is supported on Windows platforms.
|
|
* HDF5 C Library is supported on IA32 and IA64 platforms.
|
|
|
|
|
|
|
|
Bug Fixes since HDF5-1.4.2 Release
|
|
==================================
|
|
|
|
* Fixed a bug when reading chunked datasets where the edge of the dataset
|
|
would be incorrectly detected and generate an assertion failure.
|
|
* Fixed a bug where reading an entire dataset wasn't being handled
|
|
optimally when the dataset had unlimited dimensions. Dataset is read
|
|
in a single low-level I/O now, instead of being broken into separate
|
|
pieces internally.
|
|
* Fixed a bug where reading or writing chunked data which needed datatype
|
|
conversion could result in data values getting corrupted.
|
|
* Fixed a bug where appending a point selection to the current selection
|
|
would not actually append the point when there were no points defined
|
|
currently.
|
|
* Fixed a bug where 'or'ing a hyperslab with a 'none' selection would
|
|
fail. Now adds that hyperslab as the first hyperlab in the selection.
|
|
* Fixed a bug in the 'big' test where quota limits weren't being detected
|
|
properly if they caused close() to fail.
|
|
* Fixed a bug in internal B-tree code where a B-tree was not being copied
|
|
correctly.
|
|
* Fixed an off-by-one error in H5Sselect_valid when hyperslab selections
|
|
which would allow hyperslab selections which overlapped the edge of the
|
|
selection by one element as valid.
|
|
* Fixed the internal macros used to encode & decode file metadata, to avoid
|
|
an unaligned access warning on IA64 machines.
|
|
* Corrected behavior of H5Tinsert to not allow compound datatype fields to
|
|
be inserted past the end of the datatype.
|
|
* Retired the DPSS virtual file driver (--with-gridstorage configure
|
|
option).
|
|
* Fixed bug where variable-length datatypes for attributes was not working
|
|
correctly.
|
|
* Fixed bug where raw data re-allocated from the free-list would sometimes
|
|
overlap with the metadata accumulator and get corrupted. QAK - 1/23/02
|
|
* Fixed bug where a preempted chunk in the chunk data could still be
|
|
used by an internal pointer and cause an assertion failure or core
|
|
dump. QAK - 2/13/02
|
|
* Fixed bug where non-zero fill-value was not being read correctly from
|
|
certain chunked datasets when using an "all" or contiguous hyperslab
|
|
selection. QAK - 2/14/02
|
|
|
|
|
|
Documentation
|
|
=============
|
|
* Documentation was updated for the hdf5-1.4.3 release.
|
|
* A new "HDF5 User's Guide" is under development. See
|
|
http://hdf.ncsa.uiuc.edu/HDF5/doc_dev_snapshot/H5_NewUG/current/.
|
|
* Parallel Tutorial is available at http://hdf.ncsa.uiuc.edu/HDF5/doc/Tutor/
|
|
|
|
|
|
Platforms Tested
|
|
================
|
|
|
|
AIX 4.3.3.0 (IBM SP powerpc) xlc 5.0.2.0
|
|
mpcc_r 5.0.2.0
|
|
xlf 07.01.0000.0002
|
|
mpxlf 07.01.0000.0002
|
|
AIX 4.3 (IBM SP RS6000) C for AIX Compiler, Version 5.0.2.0
|
|
xlf 7.1.0.2
|
|
poe 3.1.0.12 (includes mpi)
|
|
Cray T3E sn6711 2.0.5.57 Cray Standard C Version 6.5.0.3
|
|
Cray Fortran Version 3.5.0.4
|
|
Cray SV1 10.0.0.8 Cray Standard C Version 6.5.0.3
|
|
Cray Fortran Version 3.5.0.4
|
|
FreeBSD 4.5 gcc 2.95.3
|
|
g++ 2.95.3
|
|
HP-UX B.10.20 HP C HP92453-01 A.10.32.30
|
|
HP F90 v2.3
|
|
HP-UX B.11.00 HP C HP92453-01 A.11.01.20
|
|
HP F90 v2.4
|
|
HP-UX B.11.00 SysV HP C HP92453-01 A.11.01.20
|
|
HP F90 v2.4
|
|
HP MPI [not a product] (03/24/2000) B6060BA
|
|
IRIX 6.5 MIPSpro cc 7.30
|
|
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1.2m
|
|
Linux 2.4.4 gcc 2.95.3
|
|
g++ 2.95.3
|
|
Linux 2.2.18smp gcc 2.95.2
|
|
gcc 2.95.2 with mpich 1.2.1
|
|
g++ 2.95.2
|
|
pgf90 3.2-4
|
|
OSF1 V5.1 Compaq C V6.3-028
|
|
Compaq Fortran V5.4-1283
|
|
SunOS 5.7 WorkShop Compilers 5.0 98/12/15 C 5.0
|
|
(Solaris 2.7) Workshop Compilers 5.0 98/12/15 C++ 5.0
|
|
Workshop Compilers 5.0 98/10/25
|
|
FORTRAN 90 2.0 Patch 107356-04
|
|
SunOS 5.8/32 Sun WorkShop 6 update 1 C 5.2 2000/09/11
|
|
(Solaris 2.8) Sun WorkShop 6 update 1 Fortran 95 6.1
|
|
Patch 109503-07 2001/08/11
|
|
Sun WorkShop 6 update 1 C++ 5.2 Patch
|
|
109508-04 2001/07/11
|
|
SunOS 5.8/64 Sun WorkShop 6 update 1 C 5.2 2000/09/11
|
|
(Solaris 2.8) Sun WorkShop 6 update 1 Fortran 95 6.1
|
|
Patch 109503-07 2001/08/11
|
|
Sun WorkShop 6 update 1 C++ 5.2 Patch
|
|
109508-04 2001/07/11
|
|
TFLOPS r1.0.4 v4.0.8 i386 pgcc Rel 3.1-4i with mpich-1.2.1 with
|
|
local modifications
|
|
IA-32 Linux 2.2.10smpx cc Intel 5.0.1
|
|
egcs-2.91.66
|
|
IA-64 Linux 2.4.16 ia64 gcc version 2.96 20000731
|
|
Intel(R) C++ Itanium(TM) Compiler
|
|
for the Itanium(TM)-based applications,
|
|
Version 6.0 Beta, Build 20010905
|
|
Windows 2000 (NT5.0) MSVC++ 6.0
|
|
DEC Visual Fortran 6.0
|
|
Windows NT4.0 MSVC++ 6.0
|
|
DEC Visual Fortran 6.0
|
|
Windows NT4.0 Code Warrior 6.0
|
|
Windows 98 MSVC++ 6.0
|
|
DEC Visual Fortran 6.0
|
|
|
|
|
|
Supported Configuration Features Summary
|
|
========================================
|
|
|
|
In the tables below
|
|
y = tested and supported
|
|
n = not supported or not tested in this release
|
|
x = not working in this release
|
|
( ) = footnote appears below second table
|
|
|
|
|
|
Platform C C F90 F90 C++ Shared zlib Tools
|
|
parallel parallel libraries
|
|
(5)
|
|
Solaris2.7 y y (1) y n y y y y
|
|
Solaris2.8 64 y n y n y y y y
|
|
Solaris2.8 32 y n y n y y y y
|
|
IA-64 y n n n n n y y
|
|
IRIX6.5 y y (1) n n n y y y
|
|
IRIX64_6.5 64 y y (2) y y n y y y
|
|
IRIX64_6.5 32 y y (2) n n n y y y
|
|
HPUX10.20 y n y n n y y y
|
|
HPUX11.00 y y y n n y y y
|
|
HPUX11 SysV y y y n n y y y
|
|
DECOSF y n y n y y y y
|
|
T3E y y y y n n y y
|
|
SV1 y n y n n n y y
|
|
TFLOPS y y (1) n n n n y y (4)
|
|
AIX-4.3 SP2 y y y y n n y n
|
|
AIX-4.3 SP3 y y y y y n y n
|
|
Win2000 y n y n y (6) y y y
|
|
Win98 y n y n y (6) y y y
|
|
WinNT y n y n y (6) y y y
|
|
WinNT CW y n n n n n y y
|
|
FreeBSD y n n n y y y y
|
|
Linux 2.2 y y (1) y n y y y y
|
|
Linux 2.4 y y (1) n n y y y y
|
|
|
|
|
|
Platform 1.2 static- Thread- SRB GASS STREAM-
|
|
compatibility exec safe VFD
|
|
Solaris2.7 n x y n n y
|
|
Solaris2.8 64 n y n n n y
|
|
Solaris2.8 32 n x n n n y
|
|
IA-64 n n n n n y
|
|
IRIX6.5 n x y n n y
|
|
IRIX64_6.5 64 n x y n y y
|
|
IRIX64_6.5 32 n x y n y y
|
|
HPUX10.20 n y n n n y
|
|
HPUX11.00 n x n n n y
|
|
HPUX11 SysV n x n n n y
|
|
DECOSF n y n n n y
|
|
T3E n y n n n y
|
|
SV1 n y n n n y
|
|
TFLOPS n y n n n n
|
|
AIX-4.3 SP2 n y (3) n n n y
|
|
AIX-4.3 SP3 n y n n n y
|
|
Win2000 n y n n n n
|
|
Win98 n y n n n n
|
|
WinNT n y n n n n
|
|
WinNT CW n n n n n n
|
|
FreeBSD n y y n n y
|
|
Linux 2.2 n y y n n y
|
|
Linux 2.4 n y y n n y
|
|
|
|
|
|
Footnotes: (1) Using mpich.
|
|
(2) Using mpt and mpich.
|
|
(3) When configured with static-exec enabled, tests fail
|
|
in serial mode.
|
|
(4) No HDF4-related tools.
|
|
(5) Shared libraries are provided only for the C library.
|
|
(6) Exception of (5): DLL is available for C++ API on Windows
|
|
|
|
|
|
Known Problems
|
|
==============
|
|
|
|
* Datasets or attributes which have a variable-length string datatype are
|
|
not printing correctly with h5dump and h5ls.
|
|
|
|
* When a dataset with the variable-legth datatype is overwritten,
|
|
the library can develop memory leaks that cause the file to become
|
|
unnecessarily large. This is planned to be fixed in the next release.
|
|
|
|
* On the SV1, the h5ls test fails due to a difference between the
|
|
SV1 printf precision and the printf precision on other platforms.
|
|
|
|
|
|
* The h5dump tests may fail to match the expected output in some
|
|
platforms (e.g. SP2 parallel, Windows) where the error messages
|
|
directed to "stderr" do not appear in the "right order" with output
|
|
from stdout. This is not an error.
|
|
|
|
* The --enable-static-exec configure flag fails to compile for HP-UX
|
|
11.00 platforms.
|
|
|
|
* The executables are always dynamic on IRIX64 6.5(64 and n32) and
|
|
IRIX 6.5 even if they are configured with --enable-static-exec.
|
|
|
|
* IRIX 6.5 fails to compile if configured with --enable-static-exec.
|
|
|
|
* The HDF5_MPI_OPT_TYPES optimization code in the parallel HDF5 will cause
|
|
a hang in some cases when chunked storage is used. This is now set to
|
|
be off by default. One may turn it on by setting environment variable
|
|
HDF5_MPI_OPT_TYPES to a non-zero value such as 1.
|
|
|
|
* On IA64 systems one has to use -DIA64 compilation flag to compile
|
|
h4toh5 and h5toh4 utilites. After configuration step manually modify
|
|
Makefile in the tools/h4toh4 and tools/h5toh4 directories to add
|
|
-DIA64 to the compilation flags.
|
|
|
|
* On IA32 ansd IA64 systems, if you use a compiler other than GCC
|
|
(such as Intel's ecc compiler), you will need to modify the generated
|
|
"libtool" program after configuration is finished. On or around line 102
|
|
of the libtool file, there are lines which look like:
|
|
|
|
# How to pass a linker flag through the compiler.
|
|
wl=""
|
|
|
|
change the lines to this:
|
|
|
|
# How to pass a linker flag through the compiler.
|
|
wl="-Wl,"
|
|
|
|
|
|
%%%%1.4.2%%%% Release Information for hdf5-1.4.2 (31/July/01)
|
|
|
|
10. Release Information for hdf5-1.4.2
|
|
=================================================================
|
|
|
|
|
|
INTRODUCTION
|
|
|
|
This document describes the differences between HDF5-1.4.1 and
|
|
HDF5-1.4.2, and contains information on the platforms tested and
|
|
known problems in HDF5-1.4.2.
|
|
|
|
The HDF5 documentation can be found on the NCSA ftp server
|
|
(ftp.ncsa.uiuc.edu) in the directory:
|
|
|
|
/HDF/HDF5/docs/
|
|
|
|
For more information look at the HDF5 home page at:
|
|
|
|
http://hdf.ncsa.uiuc.edu/HDF5/
|
|
|
|
If you have any questions or comments, please send them to:
|
|
|
|
hdfhelp@ncsa.uiuc.edu
|
|
|
|
|
|
CONTENTS
|
|
|
|
- New Features
|
|
- Bug Fixes since HDF5-1.4.1
|
|
- Documentation
|
|
- Platforms Tested
|
|
- Supported Configuration Features
|
|
- Known Problems
|
|
|
|
|
|
New Features
|
|
============
|
|
|
|
* File sizes greater than 2GB are now supported on Linux systems with
|
|
version 2.4.x or higher kernels.
|
|
* Added a global string variable H5_lib_vers_info_g which holds the
|
|
HDF5 library version information. This can be used to identify
|
|
an hdf5 library or hdf5 application binary.
|
|
Also added a verification of the consistency between H5_lib_vers_info_g
|
|
and other version information in the source code.
|
|
* Parallel HDF5 now runs on the HP V2500 and HP N4000 machines.
|
|
* F90 API:
|
|
- Added aditional parameter "dims" to the h5dread_f/h5dwrite_f and
|
|
h5aread_f/h5awrite_f subroutines. This parameter is a 1-D array
|
|
of size 7 and contains the sizes of the data buffer dimensions.
|
|
This change enables portability between Windows and UNIX platforms.
|
|
In previous versions of the F90 APIs, the data buffer parameters of
|
|
the above functions were declared as assumed-shape arrays, which
|
|
were passed to the C functions by a descriptor. There is no
|
|
portable means, however, of passing descriptors from F90 to C,
|
|
causing portability problems between Windows and UNIX and among
|
|
UNIX platforms. With this change, the data buffers are assumed-
|
|
size arrays, which can be portably passed to the C functions.
|
|
* F90 static library is available on Windows platforms.
|
|
See INSTALL_Windows_withF90.txt for details.
|
|
* F90 APIs are available on HPUX 11.00 and 10.20 and IBM SP platforms.
|
|
* H5 <-> GIF convertor has been added. This is available under
|
|
tools/gifconv. The convertor supports the ability to create animated
|
|
gifs as well.
|
|
* Verified correct operation of library on Solaris 2.8 in both 64-bit and
|
|
32-bit compilation modes. See INSTALL document for instructions on
|
|
compiling the distribution with 64-bit support.
|
|
* Added support for the Metrowerks Code Warrior compiler for Windows.
|
|
* For H4->H5 converter utility, added a new option to choose not to convert
|
|
HDF4 specified attributes(reference number, class) into HDF5 attributes.
|
|
* Added support chunking and compression in SDS and image in H4->H5 converter.
|
|
Currently HDF5 only supports gzip compression, so by default an HDF4 file
|
|
with any other compression method will be converted into an HDF5 file in
|
|
gzip compression.
|
|
* correct the order or reading HDF4 image array in H4->H5 conversion.
|
|
* Added new parallel hdf5 tests in t_mpi. The new test checks if the
|
|
filesystem or the MPI-IO can really handle greater than 2GB files.
|
|
If it fails, it prints information message only without failing the
|
|
test.
|
|
* Added a parallel HDF5 example examples/ph5example.c to illustrate
|
|
the basic way of using parallel HDF5.
|
|
* Added a new public macro, H5_VERS_INFO, which is a string holding
|
|
the HDF5 library version information. This string is also compiled
|
|
into all HDF5 binary code which helps to identify the version information
|
|
of the binary code. One may use the Unix strings command on the binary
|
|
file and looks for the pattern "HDF5 library version".
|
|
* Added new checking in H5check_version() to verify the five HDF5 version
|
|
information macros (H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE,
|
|
H5_VERS_SUBRELEASE and H5_VERS_INFO) are consistent.
|
|
|
|
|
|
Bug Fixes since HDF5-1.4.1 Release
|
|
==================================
|
|
|
|
* Fixed bug with non-zero userblock sizes causing raw data to not
|
|
write correctly.
|
|
* Fixed problems with Pablo build and linking with non-standard MPI I/O.
|
|
* Fixed build on Linux systems with --enable-static-exec flag. It now
|
|
works correctly.
|
|
* IMPORTANT: Fixed file metadata corruption bug which could cause
|
|
metadata data loss in certain situations.
|
|
* The allocation by alignment (H5Pset_alignment) feature code somehow
|
|
got dropped in some 1.3.x version. Re-implemented it with "new and
|
|
improved" algorithm. It keeps track of "wasted" file-fragment in
|
|
the free-list too.
|
|
* Removed limitation that the data transfer buffer size needed to be
|
|
set for datasets whose dimensions were too large for the 'all'
|
|
selection code to handle. Any size dimensioned datasets should be
|
|
handled correctly now.
|
|
* Changed behavior of H5Tget_member_type to correctly emulate HDF5 v1.2.x
|
|
when --enable-hdf5v1_2 configure flag is enabled.
|
|
* Added --enable-linux-lfs flag to allow more control over whether to
|
|
enable or disable large file support on Linux.
|
|
* Fixed various bugs releated to SDS dimensional scale conversions in H4->H5
|
|
converter.
|
|
* Fixed a bug to correctly convert HDF4 objects with fill value into HDF5.
|
|
* Fixed a bug of H5pubconf.h causing repeated definitions if it is included
|
|
more than once. hdf5.h now includes H5public.h which includes
|
|
H5pubconf.h. Applications should #include hdf5.h which handles multiple
|
|
inclusion correctly.
|
|
* Fixed H5FDmpio.h to be C++ friendly by making Parallel HDF5 API's to be
|
|
external to C++.
|
|
* Fixed a bug in H5FD_mpio_flush() that might result in negative file seek
|
|
if both MPIO and Split-file drivers are used together.
|
|
|
|
|
|
|
|
Documentation
|
|
=============
|
|
|
|
* The H5T_conv_t and H5T_cdata_t structures are now properly defined
|
|
in the H5Tregister entry in the "H5T" section of the "HDF5 Reference
|
|
Manual" and described in detail in section 12, "Data Conversions," in
|
|
the "Datatypes" chapter of the "HDF5 User's Guide."
|
|
* The new tools h52gif and gif2h5 have been added to the "Tools" section
|
|
of the Reference Manual.
|
|
* A "Freespace Management" section has been added to the "Performance"
|
|
chapter of the User's Guide.
|
|
* Several user-reported bugs have been fixed since Release 1.4.1.
|
|
* The "HDF5 Image and Palette Specification" (in the "HDF5 Application
|
|
Developer's Guide") has been heavily revised. Based on extensive user
|
|
feedback and input from visualization software developers, Version 1.2
|
|
of the image specification is substantially different from prior
|
|
versions.
|
|
|
|
|
|
Platforms Tested
|
|
================
|
|
|
|
AIX 4.3.3.0 (IBM SP powerpc) xlc 3.6.6.0
|
|
mpcc_r 3.6.6.0
|
|
xlf 07.01.0000.0002
|
|
mpxlf 07.01.0000.0002
|
|
AIX 4.3 (IBM SP RS6000) C for AIX Compiler, Version 5.0.2.0
|
|
xlf 7.1.0.2
|
|
poe 2.4.0.14 (includes mpi)
|
|
Cray T3E sn6711 2.0.5.49a Cray Standard C Version 6.5.0.1
|
|
Cray SV1 10.0.0.2 Cray Standard C Version 6.5.0.1
|
|
Cray Fortran Version 3.5.0.1
|
|
FreeBSD 4.3 gcc 2.95.3
|
|
g++ 2.95.3
|
|
HP-UX B.10.20 HP C HP92453-01 A.10.32.30
|
|
HP F90 v2.3
|
|
HP-UX B.11.00 HP C HP92453-01 A.11.01.20
|
|
HP F90 v2.4
|
|
HP-UX B.11.00 SysV HP C HP92453-01 A.11.01.20
|
|
HP F90 v2.4
|
|
IRIX 6.5 MIPSpro cc 7.30
|
|
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1.2m
|
|
Linux 2.4.4 gcc 2.95.3
|
|
g++ 2.95.3
|
|
Linux 2.2.18smp gcc 2.95.2
|
|
gcc 2.95.2 with mpich 1.2.1
|
|
g++ 2.95.2
|
|
pgf90 3.2-4
|
|
OSF1 V4.0 DEC-V5.2-040 on Digital UNIX V4.0 (Rev 564)
|
|
Digital Fortran 90 V4.1-270
|
|
SunOS 5.6 WorkShop Compilers 5.0 98/12/15 C 5.0
|
|
(Solaris 2.6) WorkShop Compilers 5.0 98/10/25 FORTRAN 90
|
|
2.0 Patch 107356-04
|
|
SunOS 5.7 WorkShop Compilers 5.0 98/12/15 C 5.0
|
|
(Solaris 2.7) Workshop Compilers 5.0 98/12/15 C++ 5.0
|
|
Workshop Compilers 5.0 98/10/25 FORTRAN 90
|
|
2.0 Patch 107356-04
|
|
SunOS 5.8/32 Sun WorkShop 6 update 1 C 5.2 2000/09/11
|
|
(Solaris 2.8) Sun WorkShop 6 update 1 Fortran 95 6.1
|
|
2000/09/11
|
|
Sun WorkShop 6 update 1 C++ 5.2 2000/09/11
|
|
SunOS 5.8/64 Sun WorkShop 6 update 1 C 5.2 2000/09/11
|
|
(Solaris 2.8) Sun WorkShop 6 update 1 Fortran 95 6.1
|
|
2000/09/11
|
|
Sun WorkShop 6 update 1 C++ 5.2 2000/09/11
|
|
TFLOPS r1.0.4 v4.0.7 i386 pgcc Rel 3.1-4i with mpich-1.2.1 with
|
|
local modifications
|
|
Windows 2000 (NT5.0) MSVC++ 6.0
|
|
Windows NT4.0 MSVC++ 6.0
|
|
DEC Visual Fortran 6.0
|
|
Windows NT4.0 Code Warrior 6.0
|
|
Windows 98 MSVC++ 6.0
|
|
DEC Visual Fortran 6.0
|
|
|
|
|
|
Supported Configuration Features Summary
|
|
========================================
|
|
|
|
In the tables below
|
|
y = tested and supported
|
|
n = not supported or not tested in this release
|
|
x = not working in this release
|
|
( ) = footnote appears below second table
|
|
|
|
|
|
Platform C C F90 F90 C++ Shared zlib Tools
|
|
parallel parallel libraries
|
|
(5)
|
|
Solaris2.6 y n y n y y y y
|
|
Solaris2.7 y y (1) y n y y y y
|
|
Solaris2.8 64 y n n n y y y y
|
|
Solaris2.8 32 y n y n y y y y
|
|
IRIX6.5 y y (1) n n n y y y
|
|
IRIX64_6.5 64 y y (2) y y n y y y
|
|
IRIX64_6.5 32 y y (2) n n n y y y
|
|
HPUX10.20 y n y n n y y y
|
|
HPUX11.00 y n y n n y y y
|
|
HPUX11 SysV y n y n n y y y
|
|
DECOSF y n y n n y y y
|
|
T3E y y y y n n y y
|
|
SV1 y n y n n n y y
|
|
TFLOPS y y (1) n n n n y y (4)
|
|
AIX-4.3 SP2 y y y y n n y n
|
|
AIX-4.3 SP3 y y y y n n y n
|
|
Win2000 y n n n n y y y
|
|
Win98 y n y n n y y y
|
|
WinNT y n y n n y y y
|
|
WinNT CW y n n n n n y y
|
|
FreeBSD y n n n y y y y
|
|
Linux 2.2 y y (1) y n y y y y
|
|
Linux 2.4 y y (1) n n y y y y
|
|
|
|
|
|
Platform 1.2 static- Thread- SRB GASS STREAM-
|
|
compatibility exec safe VFD
|
|
Solaris2.6 y x n n n y
|
|
Solaris2.7 y x y n n y
|
|
Solaris2.8 64 y y n n n y
|
|
Solaris2.8 32 y x n n n y
|
|
IRIX6.5 y x y n n y
|
|
IRIX64_6.5 64 y x n n n y
|
|
IRIX64_6.5 32 y x n n n y
|
|
HPUX10.20 y y n n n y
|
|
HPUX11.00 y x n n n y
|
|
HPUX11 SysV y x n n n y
|
|
DECOSF y y n n n y
|
|
T3E y y n n n y
|
|
SV1 y y n n n y
|
|
TFLOPS y y n n n n
|
|
AIX-4.3 SP2 y y (3) n n n y
|
|
AIX-4.3 SP3 y y n n n y
|
|
Win2000 y y n n n n
|
|
Win98 n y n n n n
|
|
WinNT y y n n n n
|
|
WinNT CW n n n n n n
|
|
FreeBSD y y n n n y
|
|
Linux 2.2 y y y n n y
|
|
Linux 2.4 y y y n n y
|
|
|
|
|
|
Footnotes: (1) Using mpich.
|
|
(2) Using mpt and mpich.
|
|
(3) When configured with static-exec enabled, tests fail
|
|
in serial mode.
|
|
(4) No HDF4-related tools.
|
|
(5) Shared libraries are provided only for the C library.
|
|
|
|
|
|
Known Problems
|
|
==============
|
|
|
|
* When a dataset with the variable-legth datatype is overwritten,
|
|
the library can develop memory leaks that cause the file to become
|
|
unnecessarily large. This is planned to be fixed in the next release.
|
|
|
|
* On the SV1, the h5ls test fails due to a difference between the
|
|
SV1 printf precision and the printf precision on other platforms.
|
|
|
|
* The h5dump tests may fail to match the expected output in some
|
|
platforms (e.g. SP2 parallel, Windows) where the error messages
|
|
directed to "stderr" do not appear in the "right order" with output
|
|
from stdout. This is not an error.
|
|
|
|
* The --enable-static-exec configure flag fails to compile for HP-UX
|
|
11.00 platforms.
|
|
|
|
* The executables are always dynamic on IRIX64 6.5(64 and n32) and
|
|
IRIX 6.5 even if they are configured with --enable-static-exec.
|
|
|
|
* IRIX 6.5 fails to compile if configured with --enable-static-exec.
|
|
|
|
* For 24-bit image conversion from H4->H5, the current conversion is
|
|
not consistent with HDF5 image specification.
|
|
|
|
* In some cases, and SDS with an UNLIMITED dimension that has not
|
|
been written (current size = 0) is not converted correctly.
|
|
|
|
* After "make install" or "make install-doc" one may need to reload
|
|
the source from the tar file before doing another build.
|
|
|
|
* The HDF5_MPI_OPT_TYPES optimization code in the parallel HDF5 will cause
|
|
a hang in some cases when chunked storage is used. This is now set to
|
|
be off by default. One may turn it on by setting environment variable
|
|
HDF5_MPI_OPT_TYPES to a non-zero value such as 1.
|
|
|
|
%%%%1.4.1%%%% Release Information for hdf5-1.4.1 (April/01)
|
|
|
|
9. Release Information for hdf5-1.4.1 (April/01)
|
|
=====================================================================
|
|
|
|
|
|
|
|
HDF5 Release 1.4.1
|
|
|
|
|
|
INTRODUCTION
|
|
|
|
This document describes the differences between HDF5-1.4.0 and
|
|
HDF5-1.4.1, and contains information on the platforms tested and
|
|
known problems in HDF5-1.4.1.
|
|
|
|
The HDF5 documentation can be found on the NCSA ftp server
|
|
(ftp.ncsa.uiuc.edu) in the directory:
|
|
|
|
/HDF/HDF5/docs/
|
|
|
|
For more information look at the HDF5 home page at:
|
|
|
|
http://hdf.ncsa.uiuc.edu/HDF5/
|
|
|
|
If you have any questions or comments, please send them to:
|
|
|
|
hdfhelp@ncsa.uiuc.edu
|
|
|
|
|
|
CONTENTS
|
|
|
|
- New Features
|
|
- Bug Fixes since HDF5-1.4.0
|
|
- Documentation
|
|
- Platforms Tested
|
|
- Supported Configuration Features
|
|
- Known Problems
|
|
|
|
|
|
New Features
|
|
============
|
|
|
|
* XML output option for h5dump utility.
|
|
|
|
A new option --xml to output data in XML format has been added. The
|
|
XML output contains a complete description of the file, marked up in
|
|
XML.
|
|
|
|
The XML conforms to the HDF5 Document Type Definition (DTD), which
|
|
is available at:
|
|
|
|
http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.dtd
|
|
|
|
The XML output is suitable for use with other tools, including the
|
|
Java Tools:
|
|
|
|
http://hdf.ncsa.uiuc.edu/java-hdf5-html
|
|
|
|
|
|
Bug Fixes since HDF5-1.4.0 Release
|
|
==================================
|
|
|
|
* h4toh5 utility: conversion of images is fixed
|
|
|
|
Earlier releases of the h4toh5 utility produced images that did not
|
|
correctly conform to the HDF5 Image and Palette Specification.
|
|
|
|
http://hdf.ncsa.uiuc.edu/HDF5/doc/ImageSpec.html
|
|
|
|
Several required HDF5 attributes are omitted, and the dataspace
|
|
is reversed (i.e., the ht. and width of the image dataset is
|
|
incorrectly described.) For more information, please see:
|
|
|
|
http://hdf.ncsa.uiuc.edu/HDF5/H5Image/ImageDetails.htm
|
|
|
|
* Fixed bug with contiguous hyperslabs not being detected, causing
|
|
slower I/O than necessary.
|
|
* Fixed bug where non-aligned hyperslab I/O on chunked datasets was
|
|
causing errors during I/O
|
|
* The RCSID string in H5public.h was causing the C++ compiling problem
|
|
because when it was included multiple times, C++ did not like
|
|
multiple definitions of the same static variable. All occurance of
|
|
RCSID definition are removed since we have not used it consistently
|
|
before.
|
|
|
|
|
|
Documentation
|
|
=============
|
|
|
|
PDF and Postscript versions of the following documents are available
|
|
for this release:
|
|
Document Filename
|
|
-------- --------
|
|
Introduction to HDF5 H5-R141-Introduction.pdf
|
|
HDF5 Reference Manual H5-R141-RefManual.pdf
|
|
C++ APIs to HDF5 documents H5-R141-Cplusplus.pdf
|
|
Fortran90 APIs to HDF5 documents H5-R141-Fortran90.pdf
|
|
|
|
PDF and Postscript files containing H5-R141-DocSet.pdf
|
|
all of the above H5-R141-DocSet.ps
|
|
|
|
These files are not included in this distribution, but are available
|
|
via the Web or FTP at the following locations:
|
|
http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/
|
|
ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/docs/
|
|
|
|
While these documents are labeled Release 1.4.1, they describe
|
|
Release 1.4.0 as well.
|
|
|
|
|
|
Platforms Tested
|
|
================
|
|
|
|
Due to the nature of this release only C, C++ libraries and tools were tested.
|
|
|
|
AIX 4.3.3.0 (IBM SP powerpc) xlc 3.6.6
|
|
mpcc_r 3.6.6
|
|
Cray T3E sn6711 2.0.5.47 Cray Standard C Version 6.5.0.0
|
|
Cray SV1 10.0.0.8 Cray Standard C Version 6.5.0.0
|
|
FreeBSD 4.3 gcc 2.95.2
|
|
HP-UX B.10.20 HP C HP92453-01 A.10.32.30
|
|
HP-UX B.11.00 HP C HP92453-01 A.11.01.20
|
|
IRIX 6.5 MIPSpro cc 7.30
|
|
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m
|
|
Linux 2.2.18smp gcc-2.95.2
|
|
g++ 2.95.2
|
|
OSF1 V4.0 DEC-V5.2-040
|
|
Digital Fortran 90 V4.1-270
|
|
SunOS 5.6 WorkShop Compilers 5.0 98/12/15 C 5.0
|
|
(Solaris 2.6)
|
|
|
|
SunOS 5.7 WorkShop Compilers 5.0 98/12/15 C 5.0
|
|
(Solaris 2.7) Workshop Compilers 5.0 98/12/15 C++ 5.0
|
|
TFLOPS r1.0.4 v4.0 mpich-1.2.1 with local changes
|
|
Windows NT4.0, 2000 (NT5.0) MSVC++ 6.0
|
|
Windows 98 MSVC++ 6.0
|
|
|
|
|
|
Supported Configuration Features Summary
|
|
========================================
|
|
|
|
* See "Supported Configuration Features Summary" section for the HDF5
|
|
1.4.0 release in the HISTORY.txt file.
|
|
|
|
Known Problems
|
|
==============
|
|
|
|
* The h5dump tests may fail to match the expected output in some
|
|
platforms (e.g. SP2 parallel, Windows) where the error messages
|
|
directed to "stderr" do not appear in the "right order" with output
|
|
from stdout. This is not an error.
|
|
|
|
* The --enable-static-exec configure flag fails to compile for HP-UX
|
|
11.00 platforms.
|
|
|
|
* The executable are always dynamic on IRIX64 6.5(64 and n32) and
|
|
IRIX 6.5 even if they are configured with --enable-static-exec.
|
|
|
|
* The shared library failed compilation on IRIX 6.5.
|
|
|
|
* After "make install" or "make install-doc" one may need to reload the source
|
|
from the tar file before doing another build.
|
|
|
|
* See "Known problems" section for the HDF5 1.4.0 release in the
|
|
HISTORY.txt file.
|
|
|
|
%%%%1.4.0%%%% Release Information for hdf5-1.4.0 (2/22/01)
|
|
|
|
8. Release Information for hdf5-1.4.0
|
|
===================================================================
|
|
|
|
HDF5 Release 1.4.0
|
|
|
|
|
|
INTRODUCTION
|
|
|
|
This document describes the differences between HDF5-1.2.0 and
|
|
HDF5-1.4.0, and contains information on the platforms tested and
|
|
known problems in HDF5-1.4.0. For more details check the HISTORY.txt
|
|
file in the HDF5 source.
|
|
|
|
The HDF5 documentation can be found on the NCSA ftp server
|
|
(ftp.ncsa.uiuc.edu) in the directory:
|
|
|
|
/HDF/HDF5/docs/
|
|
|
|
For more information look at the HDF5 home page at:
|
|
|
|
http://hdf.ncsa.uiuc.edu/HDF5/
|
|
|
|
If you have any questions or comments, please send them to:
|
|
|
|
hdfhelp@ncsa.uiuc.edu
|
|
|
|
|
|
CONTENTS
|
|
|
|
- New Features
|
|
- h4toh5 Utility
|
|
- F90 Support
|
|
- C++ Support
|
|
- Pablo Support
|
|
- Bug Fixes since HDF5-1.2.0
|
|
- Bug Fixes since HDF5-1.4.0-beta2
|
|
- Bug Fixes since HDF5-1.4.0
|
|
- Documentation
|
|
- Platforms Tested
|
|
- Supported Configuration Features
|
|
- Known Problems
|
|
|
|
|
|
New Features
|
|
============
|
|
* The Virtual File Layer, VFL, was added to replace the old file
|
|
drivers. It also provides an API for user defined file drivers.
|
|
* New features added to snapshots. Use 'snapshot help' to see a
|
|
complete list of features.
|
|
* Improved configure to detect if MPIO routines are available when
|
|
parallel mode is requested.
|
|
* Added Thread-Safe support. Phase I implemented. See:
|
|
|
|
http://hdf.ncsa.uiuc.edu/HDF5/papers/mthdf/MTHDFpaper.htm
|
|
|
|
for more details.
|
|
* Added data sieve buffering to raw data I/O path. This is enabled
|
|
for all VFL drivers except the mpio & core drivers. Setting the
|
|
sieve buffer size is controlled with the new API function,
|
|
H5Pset_sieve_buf_size(), and retrieved with H5Pget_sieve_buf_size().
|
|
* Added new Virtual File Driver, Stream VFD, to send/receive entire
|
|
HDF5 files via socket connections.
|
|
* As parts of VFL, HDF-GASS and HDF-SRB are also added to this
|
|
release. To find out details, please read INSTALL_VFL file.
|
|
* Increased maximum number of dimensions for a dataset (H5S_MAX_RANK)
|
|
from 31 to 32 to align with HDF4 & netCDF.
|
|
* Added 'query' function to VFL drivers. Also added 'type' parameter to
|
|
VFL 'read' & 'write' calls, so they are aware of the type of data
|
|
being accessed in the file. Updated the VFL document also.
|
|
* A new h4toh5 utility, to convert HDF4 files to analogous HDF5 files.
|
|
* Added a new array datatype to the datatypes which can be created.
|
|
Removed "array fields" from compound datatypes (use an array datatype
|
|
instead).
|
|
* Parallel HDF5 works correctly with mpich-1.2.1 on Solaris, SGI, Linux.
|
|
* You can now install the HDF5 documentation using the
|
|
``make install-doc'' command. The documentation is installed in the
|
|
$(prefix)/doc directory where $(prefix) is the prefix specified by
|
|
the (optional) ``--prefix'' flag during configuration.
|
|
* HDF5 can operate correctly in the OpenMP environment in a limited way.
|
|
Check doc/html/TechNotes/openmp-hdf5.html for details.
|
|
|
|
|
|
h4toh5 Utility
|
|
==============
|
|
The h4toh5 utility is a new utility that converts an HDF4 file to an
|
|
HDF5 file. For details, see the document, "Mapping HDF4 Objects to
|
|
HDF5 Objects":
|
|
http://hdf.ncsa.uiuc.edu/HDF5/papers/H4-H5MappingGuidelines.pdf
|
|
|
|
Known Bugs:
|
|
|
|
The h4toh5 utility produces images that do not correctly conform
|
|
to the HDF5 Image and Palette Specification.
|
|
|
|
http://hdf.ncsa.uiuc.edu/HDF5/doc/ImageSpec.html
|
|
|
|
Several required HDF5 attributes are omitted, and the dataspace
|
|
is reversed (i.e., the ht. and width of the image dataset is
|
|
incorrectly described.) For more information, please see:
|
|
|
|
http://hdf.ncsa.uiuc.edu/HDF5/H5Image/ImageDetails.html
|
|
|
|
This bug has been fixed for the snapshot of hdf5 1.4 release. March 12th,2001
|
|
|
|
Known Limitations of the h4toh5 release
|
|
---------------------------------------------
|
|
|
|
1. Error handlings
|
|
|
|
h4toh5 utility will print out an error message when an error occurs.
|
|
|
|
2. String Datatype
|
|
|
|
HDF4 has no 'string' type. String valued data are usually defined as
|
|
an array of 'char' in HDF4. The h4toh5 utility will generally map
|
|
these to HDF5 'String' types rather than array of char, with the
|
|
following additional rules:
|
|
|
|
* For the data of an HDF4 SDS, image, and palette, if the data is
|
|
declared 'DFNT_CHAR8' it will be assumed to be integer and will
|
|
be an H5T_INTEGER type.
|
|
* For attributes of any HDF4 object, data of type 'DFNT_CHAR8'
|
|
will be converted to an HDF5 'H5T_STRING' type.
|
|
* For an HDF4 Vdata, it is difficult to determine whether data
|
|
of type 'DFNT_CHAR8' is intended to be bytes or characters. The
|
|
h4toh5 utility will consider them to be C characters, and will
|
|
convert them to an HDF5 'H5T_STRING' type.
|
|
|
|
|
|
3. Compression, Chunking and External Storage
|
|
|
|
Chunking is supported, but compression and external storage is not.
|
|
|
|
An HDF4 object that uses chunking will be converted to an HDF5 file
|
|
with analogous chunked storage.
|
|
|
|
An HDF4 object that uses compression will be converted to an
|
|
uncompressed HDF5 object.
|
|
|
|
An HDF4 object that uses external storage will be converted to an
|
|
HDF5 object without external storage.
|
|
|
|
4. Memory Use
|
|
|
|
This version of the h4toh5 utility copies data from HDF4 objects
|
|
in a single read followed by a single write to the HDF5 object. For
|
|
large objects, this requires a very large amount of memory, which may
|
|
be extremely slow or fail on some platforms.
|
|
|
|
Note that a dataset that has only been partly written will
|
|
be read completely, including uninitialized data, and all the
|
|
data will be written to the HDF5 object.
|
|
|
|
5. Platforms
|
|
|
|
The h4toh5 utility requires HDF5-1.4.0 and HDF4r1.4
|
|
|
|
h4toh5 utility has been tested on all platforms listed below (see
|
|
section "Platforms Tested") except TFLOPS.
|
|
|
|
|
|
F90 Support
|
|
===========
|
|
This is the first release of the HDF5 Library with fully integrated
|
|
F90 API support. The Fortran Library is created when the
|
|
--enable-fortran flag is specified during configuration.
|
|
|
|
Not all F90 subroutines are implemented. Please refer to the HDF5
|
|
Reference Manual for more details.
|
|
|
|
F90 APIs are available for the Solaris 2.6 and 2.7, Linux, DEC UNIX,
|
|
T3E, SV1 and O2K (64 bit option only) platforms. The Parallel version of
|
|
the HDF5 F90 Library is supported on the O2K and T3E platforms.
|
|
|
|
Changes since the last prototype release (July 2000)
|
|
----------------------------------------------------
|
|
* h5open_f and h5close_f must be called instead of h5init_types and
|
|
h5close_types.
|
|
|
|
* The following subroutines are no longer available:
|
|
|
|
h5pset_xfer_f
|
|
h5pget_xfer_f
|
|
h5pset_mpi_f
|
|
h5pget_mpi_f
|
|
h5pset_stdio_f
|
|
h5pget_stdio_f
|
|
h5pset_sec2_f
|
|
h5pget_sec2_f
|
|
h5pset_core_f
|
|
h5pget_core_f
|
|
h5pset_family_f
|
|
h5pget_family_f
|
|
|
|
* The following functions have been added:
|
|
|
|
h5pset_fapl_mpio_f
|
|
h5pget_fapl_mpio_f
|
|
h5pset_dxpl_mpio_f
|
|
h5pget_dxpl_mpio_f
|
|
|
|
* In the previous HDF5 F90 releases, the implementation of object
|
|
references and dataset region references was not portable. This
|
|
release introduces a portable implementation, but it also introduces
|
|
changes to the read/write APIs that handle references. If object or
|
|
dataset region references are written or read to/from an HDF5 file,
|
|
h5dwrite_f and h5dread_f must use the extra parameter, n, for the
|
|
buffer size:
|
|
|
|
h5dwrite(read)_f(dset_id, mem_type_id, buf, n, hdferr, &
|
|
^^^
|
|
mem_space_id, file_space_id, xfer_prp)
|
|
|
|
For other datatypes the APIs were not changed.
|
|
|
|
|
|
C++ Support
|
|
===========
|
|
This is the first release of the HDF5 Library with fully integrated
|
|
C++ API support. The HDF5 C++ library is built when the --enable-cxx
|
|
flag is specified during configuration.
|
|
|
|
Check the HDF5 Reference Manual for available C++ documentation.
|
|
|
|
C++ APIs are available for Solaris 2.6 and 2.7, Linux, and FreeBSD.
|
|
|
|
|
|
Pablo Support
|
|
=============
|
|
This version does not allow proper building of the Pablo-instrumented
|
|
version of the library. A version supporting the pablo build is
|
|
available on the Pablo Website at
|
|
www-pablo.cs.uiuc.edu/pub/Pablo.Release.5/HDFLibrary/hdf5_v1.4.tar.gz
|
|
|
|
|
|
Bug Fixes since HDF5-1.2.0
|
|
==========================
|
|
|
|
Library
|
|
-------
|
|
* The function H5Pset_mpi is renamed as H5Pset_fapl_mpio.
|
|
* Corrected a floating point number conversion error for the Cray J90
|
|
platform. The error did not convert the value 0.0 correctly.
|
|
* Error was fixed which was not allowing dataset region references to
|
|
have their regions retrieved correctly.
|
|
* Corrected a bug that caused non-parallel file drivers to fail in
|
|
the parallel version.
|
|
* Added internal free-lists to reduce memory required by the library
|
|
and H5garbage_collect API function
|
|
* Fixed error in H5Giterate which was not updating the "index"
|
|
parameter correctly.
|
|
* Fixed error in hyperslab iteration which was not walking through the
|
|
correct sequence of array elements if hyperslabs were staggered in a
|
|
certain pattern
|
|
* Fixed several other problems in hyperslab iteration code.
|
|
* Fixed another H5Giterate bug which was causes groups with large
|
|
numbers of objects in them to misbehave when the callback function
|
|
returned non-zero values.
|
|
* Changed return type of H5Aiterate and H5A_operator_t typedef to be
|
|
herr_t, to align them with the dataset and group iterator functions.
|
|
* Changed H5Screate_simple and H5Sset_extent_simple to not allow
|
|
dimensions of size 0 with out the same dimension being unlimited.
|
|
* QAK - 4/19/00 - Improved metadata hashing & caching algorithms to
|
|
avoid many hash flushes and also remove some redundant I/O when
|
|
moving metadata blocks in the file.
|
|
* The "struct(opt)" type conversion function which gets invoked for
|
|
certain compound datatype conversions was fixed for nested compound
|
|
types. This required a small change in the datatype conversion
|
|
function API.
|
|
* Re-wrote lots of the hyperslab code to speed it up quite a bit.
|
|
* Added bounded garbage collection for the free lists when they run
|
|
out of memory and also added H5set_free_list_limits API call to
|
|
allow users to put an upper limit on the amount of memory used for
|
|
free lists.
|
|
* Checked for non-existent or deleted objects when dereferencing one
|
|
with object or region references and disallow dereference.
|
|
* "Time" datatypes (H5T_UNIX_D*) were not being stored and retrieved
|
|
from object headers correctly, fixed now.
|
|
* Fixed H5Dread or H5Dwrite calls with H5FD_MPIO_COLLECTIVE requests
|
|
that may hang because not all processes are transfer the same amount
|
|
of data. (A.K.A. prematured collective return when zero amount data
|
|
requested.) Collective calls that may cause hanging is done via the
|
|
corresponding MPI-IO independent calls.
|
|
* If configure with --enable-debug=all, couple functions would issue
|
|
warning messages to "stderr" that the operation is expensive time-wise.
|
|
This messed up applications (like testings) that did not expect the
|
|
extra output. It is changed so that the warning will be printed only
|
|
if the corresponding Debug key is set.
|
|
|
|
Configuration
|
|
-------------
|
|
* The hdf5.h include file was fixed to allow the HDF5 Library to be
|
|
compiled with other libraries/applications that use GNU autoconf.
|
|
* Configuration for parallel HDF5 was improved. Configure now attempts
|
|
to link with libmpi.a and/or libmpio.a as the MPI libraries by
|
|
default. It also uses "mpirun" to launch MPI tests by default. It
|
|
tests to link MPIO routines during the configuration stage, rather
|
|
than failing later as before. One can just do "./configure
|
|
--enable-parallel" if the MPI library is in the system library.
|
|
* Added support for pthread library and thread-safe option.
|
|
* The libhdf5.settings file shows the correct machine byte-sex.
|
|
* Added option "--enable-stream-vfd" to configure w/o the Stream VFD.
|
|
For Solaris, added -lsocket to the LIBS list of libraries.
|
|
|
|
Tools
|
|
-----
|
|
* h5dump now accepts both short and long command-line parameters:
|
|
-h, --help Print a usage message and exit
|
|
-B, --bootblock Print the content of the boot block
|
|
-H, --header Print the header only; no data is displayed
|
|
-i, --object-ids Print the object ids
|
|
-V, --version Print version number and exit
|
|
-a P, --attribute=P Print the specified attribute
|
|
-d P, --dataset=P Print the specified dataset
|
|
-g P, --group=P Print the specified group and all members
|
|
-l P, --soft-link=P Print the value(s) of the specified soft link
|
|
-o F, --output=F Output raw data into file F
|
|
-t T, --datatype=T Print the specified named data type
|
|
-w #, --width=# Set the number of columns
|
|
|
|
P - is the full path from the root group to the object.
|
|
T - is the name of the data type.
|
|
F - is a filename.
|
|
# - is an integer greater than 1.
|
|
* A change from the old way command line parameters were interpreted
|
|
is that multiple attributes, datasets, groups, soft-links, and
|
|
object-ids cannot be specified with just one flag but you have to
|
|
use a flag with each object. I.e., instead of doing this:
|
|
|
|
h5dump -a /attr1 /attr2 foo.h5
|
|
|
|
do this:
|
|
|
|
h5dump -a /attr1 -a /attr2 foo.h5
|
|
|
|
The cases are similar for the other object types.
|
|
* h5dump correctly displays compound datatypes.
|
|
* Corrected an error in h5toh4 which did not convert the 32bits
|
|
int from HDF5 to HDF4 correctly for the T3E platform.
|
|
* h5dump correctly displays the committed copy of predefined types
|
|
correctly.
|
|
* Added an option, -V, to show the version information of h5dump.
|
|
* Fixed a core dumping bug of h5toh4 when executed on platforms like
|
|
TFLOPS.
|
|
* The test script for h5toh4 used to not able to detect the hdp
|
|
dumper command was not valid. It now detects and reports the
|
|
failure of hdp execution.
|
|
* Merged the tools with the 1.2.2 branch. Required adding new
|
|
macros, VERSION12 and VERSION13, used in conditional compilation.
|
|
Updated the Windows project files for the tools.
|
|
* h5dump displays opaque and bitfield data correctly.
|
|
* h5dump and h5ls can browse files created with the Stream VFD
|
|
(eg. "h5ls <hostname>:<port>").
|
|
* h5dump has a new feature "-o <filename>" which outputs the raw data
|
|
of the dataset into ascii text file <filename>.
|
|
* h5toh4 used to converts hdf5 strings type to hdf4 DFNT_INT8 type.
|
|
Corrected to produce hdf4 DFNT_CHAR type instead.
|
|
* h5dump and h5ls displays array data correctly.
|
|
|
|
|
|
Bug Fixes since HDF5-1.4.0-beta2
|
|
================================
|
|
* Fixed a bug in the conversion from a little endian double to a big
|
|
endian float in some special cases.
|
|
* Corrected configuration error which was not including compression
|
|
support correctly.
|
|
* Cleaned up lots of warnings.
|
|
* Changed a few h5dump command line switches and added long versions of
|
|
the switches.
|
|
* Changed parameters for H5Tconvert, H5Pset_bufer and H5Pget_buffer from
|
|
size_t to hsize_t
|
|
* Fixed fairly obscure bug in hyperslab I/O which could (in rare cases)
|
|
not copy all the data during a transfer.
|
|
* Removed ragged array code from library.
|
|
* F90 library and module files are installed properly now on all supported
|
|
platforms.
|
|
|
|
|
|
Bug Fixes since HDF5-1.4.0 Release
|
|
==================================
|
|
|
|
* Fixed bug with contiguous hyperslabs not being detected, causing
|
|
slower I/O than necessary.
|
|
* Fixed bug where non-aligned hyperslab I/O on chunked datasets was
|
|
causing errors during I/O
|
|
* Implemented XML support in h5dump.
|
|
|
|
|
|
Documentation
|
|
=============
|
|
* A new document summarizing the changes in the library leading up to
|
|
the current release has been added:
|
|
HDF5 Software Changes from Release to Release
|
|
This document is in the Application Developer's Guide and is of
|
|
particular interest to developers who must keep an application
|
|
synchronized with the library.
|
|
* The documentation for the Fortran90 and C++ APIs is linked to the
|
|
opening page of the Reference Manual. Fortran90 functions are
|
|
individually referenced from the corresponding C functions through-
|
|
out the Reference Manual.
|
|
* User's Guide and Reference Manual were updated to reflect changed
|
|
function syntax and to fix reported bugs.
|
|
* Functions that are new at this release were added to the Reference
|
|
Manual.
|
|
* Functions that have been removed from the library were removed from
|
|
the User's Guide and the Reference Manual.
|
|
* PostScript and PDF versions of the Release 1.4 document set are
|
|
not available at the time of Release 1.4.0.
|
|
|
|
|
|
Platforms Tested
|
|
================
|
|
AIX 4.3.3.0 (IBM SP powerpc) xlc 3.6.6
|
|
mpcc_r 3.6.6
|
|
Cray T3E sn6711 2.0.5.45 Cray Standard C Version 6.4.0.0
|
|
Cray Fortran Version 3.4.0.2
|
|
Cray SV1 sn9605 10.0.0.7 Cray Standard C Version 6.4.0.0
|
|
Cray Fortran Version 3.4.0.2
|
|
FreeBSD 4.2 gcc 2.95.2
|
|
g++ 2.95.2
|
|
HP-UX B.10.20 HP C HP92453-01 A.10.32.30
|
|
HP-UX B.11.00 HP C HP92453-01 A.11.00.13
|
|
IRIX 6.5 MIPSpro cc 7.30
|
|
mpich-1.2.1
|
|
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m
|
|
mpt.1.4.0.2
|
|
mpich-1.2.1
|
|
Linux 2.2.16-3smp gcc-2.95.2
|
|
g++ 2.95.2
|
|
pgf90 3.1-3
|
|
mpich-1.2.1
|
|
OSF1 V4.0 DEC-V5.2-040
|
|
Digital Fortran 90 V4.1-270
|
|
SunOS 5.6 WorkShop Compilers 5.0 98/12/15 C 5.0
|
|
(Solaris 2.6) WorkShop Compilers 5.0 99/10/25 Fortran 90
|
|
2.0 Patch 107356-04
|
|
Workshop Compilers 5.0 98/12/15 C++ 5.0
|
|
SunOS 5.7 WorkShop Compilers 5.0 98/12/15 C 5.0
|
|
(Solaris 2.7) WorkShop Compilers 5.0 99/10/25 Fortran 90
|
|
2.0 Patch 107356-04
|
|
Workshop Compilers 5.0 98/12/15 C++ 5.0
|
|
mpich-1.2.1
|
|
SunOS 5.5.1 gcc-2.7.2
|
|
(Solaris 2.5.1 (x86))
|
|
TFLOPS r1.0.4 v4.0 mpich-1.2.1 with local changes
|
|
Windows NT4.0, 2000 (NT5.0) MSVC++ 6.0
|
|
Windows 98 MSVC++ 6.0
|
|
|
|
|
|
Supported Configuration Features Summary
|
|
========================================
|
|
In the tables below
|
|
y = tested and supported
|
|
n = not supported or not working in this release
|
|
( ) = footnote appears below table
|
|
|
|
Platform C C F90 F90 C++ Shared zlib Tools
|
|
parallel parallel libraries
|
|
Solaris2.6 y n y n y y y y
|
|
Solaris2.7 y y (1) y n y y y y
|
|
Solarisx86 y n n n n y y y
|
|
IRIX6.5 y y (1) n n n n y y
|
|
IRIX64_6.5 64 y y (2) y y n y y y
|
|
IRIX64_6.5 32 y y (2) n n n y y y
|
|
HPUX10.20 y n n n n y y y
|
|
DECOSF y n y n n y y y
|
|
T3E y y y y n n y y
|
|
SV1 y n y n n n y y
|
|
TFLOPS y y (1) n n n n y y (4)
|
|
AIX-4.3 y y n n n n y n
|
|
Win2000 y n n n n y y y
|
|
Win98 y n n n n y y y
|
|
WinNT y n n n n y y y
|
|
FreeBSD y n n n y y y y
|
|
Linux y y (1) y n y y y y
|
|
|
|
|
|
Platform 1.2 static- Thread- SRB GASS STREAM-
|
|
compatibility exec safe VFD
|
|
Solaris2.6 y n n n n y
|
|
Solaris2.7 y n y n n y
|
|
Solarisx86 y n n n n y
|
|
IRIX6.5 y n y n n y
|
|
IRIX64_6.5 64 y n n n n y
|
|
IRIX64_6.5 32 y n n n n y
|
|
HPUX10.20 y y n n n y
|
|
DECOSF y y n n n y
|
|
T3E y y n n n y
|
|
SV1 y y n n n y
|
|
TFLOPS y y n n n n
|
|
AIX-4.3 y y (3) n n n y
|
|
Win2000 y y n n n n
|
|
Win98 y y n n n n
|
|
WinNT y y n n n n
|
|
FreeBSD y y n n n y
|
|
Linux y n y n n y
|
|
|
|
Footnotes: (1) Using mpich.
|
|
(2) Using mpt and mpich.
|
|
(3) When configured with static-exec enabled, tests fail
|
|
in serial mode.
|
|
(4) No HDF4-related tools.
|
|
|
|
|
|
Known Problems
|
|
==============
|
|
* The stream-vfd test uses ip port 10007 for testing. If another
|
|
application is already using that port address, the test will hang
|
|
indefinitely and has to be terminated by the kill command. To try the
|
|
test again, change the port address in test/stream_test.c to one not
|
|
being used in the host.
|
|
|
|
* The --enable-static-exec configure flag fails to compile for Solaris
|
|
platforms. This is due to the fact that not all of the system
|
|
libraries on Solaris are available in a static format.
|
|
|
|
The --enable-static-exec configure flag also fails to correctly compile
|
|
on Linux platforms using the gcc-2.95.2 compiler.
|
|
|
|
The --enable-static-exec configure flag also fails to correctly compile
|
|
on IBM SP2 platform for the serial mode. The parallel mode works fine
|
|
with this option.
|
|
|
|
The compilation fails if configured with --enable-static-exec on IRIX 6.5.
|
|
|
|
The executable files in hdf5/bin are dynamic-linked for IRIX64 6.5(64 and
|
|
n32 modes) and IRIX 6.5, even though they are compiled with static library.
|
|
|
|
It is suggested that you don't use this option on these platforms
|
|
during configuration.
|
|
|
|
* testhdf5 got bus error with configuration options --prefix and --with-hdf4
|
|
on IRIX 6.5.
|
|
|
|
* With the gcc 2.95.2 compiler, HDF 5 uses the `-ansi' flag during
|
|
compilation. The ANSI version of the compiler complains about not being
|
|
able to handle the `long long' datatype with the warning:
|
|
|
|
warning: ANSI C does not support `long long'
|
|
|
|
This warning is innocuous and can be safely ignored.
|
|
|
|
* SunOS 5.6 with C WorkShop Compilers 4.2: Hyperslab selections will
|
|
fail if library is compiled using optimization of any level.
|
|
|
|
* When building hdf5 tools and applications on windows platform, a linking
|
|
warning: defaultlib "LIBC" conflicts with use of other libs will appear
|
|
on debug version when running VC++6.0. This warning doesn't affect building
|
|
and testing hdf5 applications. We will continue investigating this.
|
|
|
|
* h5toh4 converter fails two cases(tstr.h5 and tmany.h5) for release dll
|
|
version on windows 2000 and NT. The reason is possibly due to Windows NT
|
|
DLL convention on freeing memory. It seems that memory cannot be freed
|
|
across library or DLL. It is still under investigation.
|
|
|
|
* HDF-GASS testings and testhdf5 in the test directory will get bus error if
|
|
the configured with --with-gass.
|
|
|
|
* HDF-SRB testing got segmentation error on Solaris 2.7.
|
|
|
|
* The Stream VFD was not tested yet under Windows.
|
|
It is not supported in the TFLOPS machine.
|
|
|
|
* Shared library option is broken for IBM SP and some Origin 2000 platforms.
|
|
One needs to run ./configure with '--disable-shared --enable-static'.
|
|
|
|
* The ./dsets tests failed in the TFLOPS machine if the test program,
|
|
dsets.c, is compiled with the -O option. The hdf5 library still works
|
|
correctly with the -O option. The test program works fine if it is
|
|
compiled with -O1 or -O0. Only -O (same as -O2) causes the test
|
|
program to fail.
|
|
|
|
* Certain platforms give false negatives when testing h5ls:
|
|
- Solaris x86 2.5.1, Cray T3E and Cray J90 give errors during testing
|
|
when displaying object references in certain files. These are benign
|
|
differences due to the difference in sizes of the objects created on
|
|
those platforms. h5ls appears to be dumping object references
|
|
correctly.
|
|
- Cray J90 give errors during testing when displaying
|
|
some floating-point values. These are benign differences due to the
|
|
different precision in the values displayed and h5ls appears to be
|
|
dumping floating-point numbers correctly.
|
|
|
|
* Before building HDF5 F90 Library from source on Crays (T3E and SV1)
|
|
replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src
|
|
subdirectory in the top level directory with the Cray-specific files from
|
|
the ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/hdf5-1.4.0/src/crayf90/ directory.
|
|
|
|
* The h4toh5 utility produces images that do not correctly conform
|
|
to the HDF5 Image and Palette Specification.
|
|
|
|
http://hdf.ncsa.uiuc.edu/HDF5/doc/ImageSpec.html
|
|
|
|
Several required HDF5 attributes are omitted, and the dataspace
|
|
is reversed (i.e., the ht. and width of the image dataset is
|
|
incorrectly described.) For more information, please see:
|
|
|
|
http://hdf.ncsa.uiuc.edu/HDF5/H5Image/ImageDetails.htm
|
|
|
|
%%%%1.2.2%%%% Release Information for hdf5-1.2.2 (6/23/00)
|
|
|
|
7. Release Information for hdf5-1.2.2
|
|
=================================================================
|
|
INTRODUCTION
|
|
|
|
This document describes the differences between HDF5-1.2.1 and
|
|
HDF5-1.2.2, and contains information on the platforms where HDF5-1.2.2
|
|
was tested and known problems in HDF5-1.2.2.
|
|
|
|
The HDF5 documentation can be found on the NCSA ftp server
|
|
(ftp.ncsa.uiuc.edu) in the directory:
|
|
|
|
/HDF/HDF5/docs/
|
|
|
|
For more information look at the HDF5 home page at:
|
|
|
|
http://hdf.ncsa.uiuc.edu/HDF5/
|
|
|
|
If you have any questions or comments, please send them to:
|
|
|
|
hdfhelp@ncsa.uiuc.edu
|
|
|
|
|
|
CONTENTS
|
|
|
|
- Features Added since HDF5-1.2.1
|
|
- Bug Fixes since HDF5-1.2.1
|
|
- Known Problems
|
|
- Platforms Tested
|
|
|
|
|
|
Features Added since HDF5-1.2.1
|
|
===============================
|
|
* Added internal free-lists to reduce memory required by the library and
|
|
H5garbage_collect API function.
|
|
* h5dump displays opaque and bitfield types.
|
|
* New features added to snapshots. Use 'snapshot help' to see a
|
|
complete list of features.
|
|
* Improved configure to detect if MPIO routines are available when
|
|
parallel mode is requested.
|
|
|
|
Bug Fixes since HDF5-1.2.1
|
|
==========================
|
|
* h5dump correctly displays compound datatypes, including simple and
|
|
nested compound types.
|
|
* h5dump correctly displays the committed copy of predefined types.
|
|
* Corrected an error in h5toh4 which did not convert the 32-bit
|
|
int from HDF5 to HDF4 correctly for the T3E platform.
|
|
* Corrected a floating point number conversion error for the
|
|
Cray J90 platform. The error did not convert the value 0.0
|
|
correctly.
|
|
* Fixed error in H5Giterate which was not updating the "index" parameter
|
|
correctly.
|
|
* Fixed error in hyperslab iteration which was not walking through the
|
|
correct sequence of array elements if hyperslabs were staggered in a
|
|
certain pattern.
|
|
* Fixed several other problems in hyperslab iteration code.
|
|
* Fixed another H5Giterate bug which caused groups with large numbers
|
|
of objects in them to misbehave when the callback function returned
|
|
non-zero values.
|
|
* Changed return type of H5Aiterate and H5A_operator_t typedef to be
|
|
herr_t, to align them with the dataset and group iterator functions.
|
|
* Changed H5Screate_simple and H5Sset_extent_simple to not allow dimensions
|
|
of size 0 without the same dimension being unlimited.
|
|
* Improved metadata hashing & caching algorithms to avoid
|
|
many hash flushes and also removed some redundant I/O when moving metadata
|
|
blocks in the file.
|
|
* The libhdf5.settings file shows the correct machine byte-sex.
|
|
* The "struct(opt)" type conversion function which gets invoked for
|
|
certain compound datatype conversions was fixed for nested compound
|
|
types. This required a small change in the datatype conversion
|
|
function API.
|
|
|
|
Known Problems
|
|
==============
|
|
|
|
o SunOS 5.6 with C WorkShop Compilers 4.2: hyperslab selections will
|
|
fail if library is compiled using optimization of any level.
|
|
o TFLOPS: dsets test fails if compiled with optimization turned on.
|
|
o J90: tools fail to dispay data for the datasets with a compound datatype.
|
|
|
|
Platforms Tested
|
|
================
|
|
|
|
AIX 4.3.3 (IBM SP) 3.6.6 | binaries
|
|
mpicc using mpich 1.1.2 | are not
|
|
mpicc_r using IBM MPI-IO prototype | available
|
|
AIX 4.3.2.0 (IBM SP) xlc 5.0.1.0
|
|
Cray J90 10.0.0.7 cc 6.3.0.2
|
|
Cray T3E 2.0.5.29 cc 6.3.0.2
|
|
mpt.1.3
|
|
FreeBSD 4.0 gcc 2.95.2
|
|
HP-UX B.10.20 HP C HP92453-01 A.10.32
|
|
HP-UX B.11.00 HP92453-01 A.11.00.13 HP C Compiler
|
|
(static library only, h5toh4 tool is not available)
|
|
IRIX 6.5 MIPSpro cc 7.30
|
|
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m
|
|
mpt.1.4
|
|
|
|
Linux 2.2.10 SMP gcc 2.95.1
|
|
mpicc(gcc-2.95.1)
|
|
gcc (egcs-2.91.66)
|
|
mpicc (egcs-2.91.66)
|
|
Linux 2.2.16 (RedHat 6.2) gcc 2.95.2
|
|
|
|
OSF1 V4.0 DEC-V5.2-040
|
|
SunOS 5.6 cc WorkShop Compilers 5.0 no optimization
|
|
SunOS 5.7 cc WorkShop Compilers 5.0
|
|
SolarisX86 SunOS 5.5.1 gcc version 2.7.2 with --disable-hsizet
|
|
TFLOPS 3.2.1 pgcc Rel 3.1-3i
|
|
mpich-1.1.2 with local changes
|
|
Windows NT4.0 sp5 MSVC++ 6.0
|
|
Windows 98 MSVC++ 6.0
|
|
Windows 2000 MSVC++ 6.0
|
|
|
|
|
|
|
|
%%%%1.2.1%%%% Release Information for hdf5-1.2.1
|
|
|
|
6. Release Information for hdf5-1.2.1
|
|
================================================================
|
|
|
|
|
|
Bug fixes since HDF5-1.2.0
|
|
==========================
|
|
|
|
Configuration
|
|
-------------
|
|
|
|
* The hdf5.h include file was fixed to allow the HDF5 Library to be compiled
|
|
with other libraries/applications that use GNU autoconf.
|
|
* Configuration for parallel HDF5 was improved. Configure now attempts to
|
|
link with libmpi.a and/or libmpio.a as the MPI libraries by default.
|
|
It also uses "mpirun" to launch MPI tests by default. It tests to
|
|
link MPIO routines during the configuration stage, rather than failing
|
|
later as before. One can just do "./configure --enable-parallel"
|
|
if the MPI library is in the system library.
|
|
|
|
Library
|
|
-------
|
|
|
|
* Error was fixed which was not allowing dataset region references to have
|
|
their regions retrieved correctly.
|
|
* Added internal free-lists to reduce memory required by the library and
|
|
H5garbage_collect API function
|
|
* Fixed error in H5Giterate which was not updating the "index" parameter
|
|
correctly.
|
|
* Fixed error in hyperslab iteration which was not walking through the
|
|
correct sequence of array elements if hyperslabs were staggered in a
|
|
certain pattern
|
|
* Fixed several other problems in hyperslab iteration code.
|
|
|
|
Tests
|
|
------
|
|
|
|
* Added additional tests for group and attribute iteration.
|
|
* Added additional test for staggered hyperslab iteration.
|
|
* Added additional test for random 5-D hyperslab selection.
|
|
|
|
Tools
|
|
------
|
|
|
|
* Added an option, -V, to show the version information of h5dump.
|
|
* Fixed a core dumping bug of h5toh4 when executed on platforms like
|
|
TFLOPS.
|
|
* The test script for h5toh4 used to not able to detect the hdp
|
|
dumper command was not valid. It now detects and reports the
|
|
failure of hdp execution.
|
|
|
|
Documentation
|
|
-------------
|
|
|
|
* User's Guide and Reference Manual were updated.
|
|
See doc/html/PSandPDF/index.html for more details.
|
|
|
|
|
|
Platforms Tested:
|
|
================
|
|
Note: Due to the nature of bug fixes, only static versions of the library and tools were tested.
|
|
|
|
|
|
AIX 4.3.2 (IBM SP) 3.6.6
|
|
Cray T3E 2.0.4.81 cc 6.3.0.1
|
|
mpt.1.3
|
|
FreeBSD 3.3-STABLE gcc 2.95.2
|
|
HP-UX B.10.20 HP C HP92453-01 A.10.32
|
|
IRIX 6.5 MIPSpro cc 7.30
|
|
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m
|
|
mpt.1.3 (SGI MPI 3.2.0.0)
|
|
|
|
Linux 2.2.10 SuSE egcs-2.91.66 configured with
|
|
(i686-pc-linux-gnu) --disable-hsizet
|
|
mpich-1.2.0 egcs-2.91.66 19990314/Linux
|
|
|
|
OSF1 V4.0 DEC-V5.2-040
|
|
SunOS 5.6 cc WorkShop Compilers 4.2 no optimization
|
|
SunOS 5.7 cc WorkShop Compilers 5.0
|
|
TFLOPS 2.8 cicc (pgcc Rel 3.0-5i)
|
|
mpich-1.1.2 with local changes
|
|
Windows NT4.0 sp5 MSVC++ 6.0
|
|
|
|
Known Problems:
|
|
==============
|
|
|
|
o SunOS 5.6 with C WorkShop Compilers 4.2: Hyperslab selections will
|
|
fail if library is compiled using optimization of any level.
|
|
|
|
|
|
|
|
%%%%1.2.0%%%% Release Information for hdf5-1.2.0
|
|
|
|
5. Release Information for hdf5-1.2.0
|
|
===================================================================
|
|
|
|
A. Platforms Supported
|
|
-------------------
|
|
|
|
Operating systems listed below with compiler information and MPI library, if
|
|
applicable, are systems that HDF5 1.2.0 was tested on.
|
|
|
|
Compiler & libraries
|
|
Platform Information Comment
|
|
-------- ---------- --------
|
|
|
|
AIX 4.3.2 (IBM SP) 3.6.6
|
|
|
|
Cray J90 10.0.0.6 cc 6.3.0.0
|
|
|
|
Cray T3E 2.0.4.61 cc 6.2.1.0
|
|
mpt.1.3
|
|
|
|
FreeBSD 3.2 gcc 2.95.1
|
|
|
|
HP-UX B.10.20 HP C HP92453-01 A.10.32
|
|
gcc 2.8.1
|
|
|
|
IRIX 6.5 MIPSpro cc 7.30
|
|
|
|
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m
|
|
mpt.1.3 (SGI MPI 3.2.0.0)
|
|
|
|
Linux 2.2.10 egcs-2.91.66 configured with
|
|
--disable-hsizet
|
|
lbraries: glibc2
|
|
|
|
OSF1 V4.0 DEC-V5.2-040
|
|
|
|
SunOS 5.6 cc WorkShop Compilers 4.2
|
|
no optimization
|
|
gcc 2.8.1
|
|
|
|
SunOS 5.7 cc WorkShop Compilers 5.0
|
|
gcc 2.8.1
|
|
|
|
TFLOPS 2.7.1 cicc (pgcc Rel 3.0-4i)
|
|
mpich-1.1.2 with local changes
|
|
|
|
Windows NT4.0 intel MSVC++ 5.0 and 6.0
|
|
|
|
Windows NT alpha 4.0 MSVC++ 5.0
|
|
|
|
Windows 98 MSVC++ 5.0
|
|
|
|
|
|
B. Known Problems
|
|
--------------
|
|
|
|
* NT alpha 4.0
|
|
Dumper utiliy h5dump fails if linked with DLL.
|
|
|
|
* SunOS 5.6 with C WorkShop Compilers 4.2
|
|
Hyperslab selections will fail if library is compiled using optimization
|
|
of any level.
|
|
|
|
|
|
C. Changes Since Version 1.0.1
|
|
---------------------------
|
|
|
|
1. Documentation
|
|
-------------
|
|
|
|
* More examples
|
|
|
|
* Updated user guide, reference manual, and format specification.
|
|
|
|
* Self-contained documentation for installations isolated from the
|
|
Internet.
|
|
|
|
* HDF5 Tutorial was added to the documentation
|
|
|
|
2. Configuration
|
|
-------------
|
|
|
|
* Better detection and support for MPI-IO.
|
|
|
|
* Recognition of compilers with known code generation problems.
|
|
|
|
* Support for various compilers on a single architecture (e.g., the
|
|
native compiler and the GNU compilers).
|
|
|
|
* Ability to build from read-only media and with different compilers
|
|
and/or options concurrently.
|
|
|
|
* Added a libhdf5.settings file which summarizes the configuration
|
|
information and is installed along with the library.
|
|
|
|
* Builds a shared library on most systems that support it.
|
|
|
|
* Support for Cray T3E, J90 and Windows/NT.
|
|
|
|
3. Debugging
|
|
---------
|
|
|
|
* Improved control and redirection of debugging and tracing messages.
|
|
|
|
4. Datatypes
|
|
---------
|
|
|
|
* Optimizations to compound datatype conversions and I/O operations.
|
|
|
|
* Added nearly 100 optimized conversion functions for native datatypes
|
|
including support for non-aligned data.
|
|
|
|
* Added support for bitfield, opaque, and enumeration types.
|
|
|
|
* Added distinctions between signed and unsigned char types to the
|
|
list of predefined native hdf5 datatypes.
|
|
|
|
* Added HDF5 type definitions for C9x types like int32_t.
|
|
|
|
* Application-defined type conversion functions can handle non-packed
|
|
data.
|
|
|
|
* Changed the H5Tunregister() function to use wildcards when matching
|
|
conversion functions. H5Tregister_hard() and H5Tregister_soft()
|
|
were combined into H5Tregister().
|
|
|
|
* Support for variable-length datatypes (arrays of varying length per
|
|
dataset element). Variable length strings currently supported only
|
|
as variable length arrays of 1-byte integers.
|
|
|
|
5. Dataspaces
|
|
----------
|
|
|
|
* New query functions for selections.
|
|
|
|
* I/O operations bypass the stripmining loop and go directly to
|
|
storage for certain contiguous selections in the absense of type
|
|
conversions. In other cases the stripmining buffers are used more
|
|
effectively.
|
|
|
|
* Reduced the number of I/O requests under certain circumstances,
|
|
improving performance on systems with high I/O latency.
|
|
|
|
6. Persistent Pointers
|
|
-------------------
|
|
|
|
* Object (serial and parallel) and dataset region (serial only)
|
|
references are implemented.
|
|
|
|
7. Parallel Support
|
|
----------------
|
|
|
|
* Improved parallel I/O performance.
|
|
|
|
* Supported new platforms: Cray T3E, Linux, DEC Cluster.
|
|
|
|
* Use vendor supported version of MPIO on SGI O2K and Cray platforms.
|
|
|
|
* Improved the algorithm that translates an HDF5 hyperslab selection
|
|
into an MPI type for better collective I/O performance.
|
|
|
|
8. New API functions
|
|
-----------------
|
|
|
|
a. Property List Interface:
|
|
------------------------
|
|
|
|
H5Pset_xfer - set data transfer properties
|
|
H5Pset_preserve - set dataset transfer property list status
|
|
H5Pget_preserve - get dataset transfer property list status
|
|
H5Pset_hyper_cache - indicates whether to cache hyperslab blocks during I/O
|
|
H5Pget_hyper_cache - returns information regarding the caching of
|
|
hyperslab blocks during I/O
|
|
H5Pget_btree_ratios - sets B-tree split ratios for a dataset
|
|
transfer property list
|
|
H5Pset_btree_ratios - gets B-tree split ratios for a dataset
|
|
transfer property list
|
|
H5Pset_vlen_mem_manager - sets the memory manager for variable-length
|
|
datatype allocation
|
|
H5Pget_vlen_mem_manager - sets the memory manager for variable-length
|
|
datatype allocation
|
|
|
|
b. Dataset Interface:
|
|
------------------
|
|
|
|
H5Diterate - iterate over all selected elements in a dataspace
|
|
H5Dget_storage_size - return the amount of storage required for a dataset
|
|
H5Dvlen_reclaim - reclaim VL datatype memory buffers
|
|
|
|
c. Dataspace Interface:
|
|
--------------------
|
|
H5Sget_select_hyper_nblocks - get number of hyperslab blocks
|
|
H5Sget_select_hyper_blocklist - get the list of hyperslab blocks
|
|
currently selected
|
|
H5Sget_select_elem_npoints - get the number of element points
|
|
in the current selection
|
|
H5Sget_select_elem_pointlist - get the list of element points
|
|
currently selected
|
|
H5Sget_select_bounds - gets the bounding box containing
|
|
the current selection
|
|
|
|
d. Datatype Interface:
|
|
-------------------
|
|
H5Tget_super - return the base datatype from which a
|
|
datatype is derived
|
|
H5Tvlen_create - creates a new variable-length dataype
|
|
H5Tenum_create - creates a new enumeration datatype
|
|
H5Tenum_insert - inserts a new enumeration datatype member
|
|
H5Tenum_nameof - returns the symbol name corresponding to a
|
|
specified member of an enumeration datatype
|
|
H5Tvalueof - return the value corresponding to a
|
|
specified member of an enumeration datatype
|
|
H5Tget_member_value - return the value of an enumeration datatype member
|
|
H5Tset_tag - tags an opaque datatype
|
|
H5Tget_tag - gets the tag associated with an opaque datatype
|
|
|
|
e. Identifier Interface:
|
|
---------------------
|
|
H5Iget_type - retrieve the type of an object
|
|
|
|
f. Reference Interface:
|
|
--------------------
|
|
H5Rcreate - creates a reference
|
|
H5Rdereference - open the HDF5 object referenced
|
|
H5Rget_region - retrieve a dataspace with the specified region selected
|
|
H5Rget_object_type - retrieve the type of object that an
|
|
object reference points to
|
|
|
|
g. Ragged Arrays (alpha) (names of those API functions were changed):
|
|
------------------------------------------------------------------
|
|
H5RAcreate - create a new ragged array (old name was H5Rcreate)
|
|
H5RAopen - open an existing array (old name was H5Ropen)
|
|
H5RAclose - close a ragged array (old name was H5Rclose)
|
|
H5RAwrite - write to an array (old name was H5Rwrite)
|
|
H5RAread - read from an array (old name was H5Rread)
|
|
|
|
|
|
9. Tools
|
|
-----
|
|
|
|
* Enhancements to the h5ls tool including the ability to list objects
|
|
from more than one file, to display raw hexadecimal data, to
|
|
show file addresses for raw data, to format output more reasonably,
|
|
to show object attributes, and to perform a recursive listing,
|
|
|
|
* Enhancements to h5dump: support new data types added since previous
|
|
versions.
|
|
|
|
* h5toh4: An hdf5 to hdf4 converter.
|
|
|
|
|
|
|
|
%%%%1.0.1%%%% Release Information for hdf5-1.0.1
|
|
|
|
4. Changes from Release 1.0.0 to Release 1.0.1
|
|
=====================================================================
|
|
|
|
* [Improvement]: configure sets up the Makefile in the parallel tests
|
|
suit (testpar/) correctly.
|
|
|
|
* [Bug-Fix]: Configure failed for all IRIX versions other than 6.3.
|
|
It now configures correctly for all IRIX 6.x version.
|
|
|
|
* Released Parallel HDF5
|
|
|
|
Supported Features:
|
|
------------------
|
|
|
|
HDF5 files are accessed according to the communicator and INFO
|
|
object defined in the property list set by H5Pset_mpi.
|
|
|
|
Independent read and write accesses to fixed and extendable dimension
|
|
datasets.
|
|
|
|
Collective read and write accesses to fixed dimension datasets.
|
|
|
|
Supported Platforms:
|
|
-------------------
|
|
|
|
Intel Red
|
|
IBM SP2
|
|
SGI Origin 2000
|
|
|
|
Changes In This Release:
|
|
-----------------------
|
|
|
|
o Support of Access to Extendable Dimension Datasets.
|
|
Extendable dimension datasets must use chunked storage methods.
|
|
A new function, H5Dextend, is created to extend the current
|
|
dimensions of a dataset. The current release requires the
|
|
MPI application must make a collective call to extend the
|
|
dimensions of an extendable dataset before writing to the
|
|
newly extended area. (The serial does not require the
|
|
call of H5Dextend. The dimensions of an extendable
|
|
dataset is increased when data is written to beyond the
|
|
current dimensions but within the maximum dimensions.)
|
|
The required collective call of H5Dextend may be relaxed
|
|
in future release.
|
|
|
|
This release only support independent read and write accesses
|
|
to extendable datasets. Collective accesses to extendable
|
|
datasets will be implemented in future releases.
|
|
|
|
o Collective access to fixed dimension datasets.
|
|
Collective access to a dataset can be specified in the transfer
|
|
property list argument in H5Dread and H5Dwrite. The current
|
|
release supports collective access to fixed dimension datasets.
|
|
Collective access to extendable datasets will be implemented in
|
|
future releases.
|
|
|
|
o HDF5 files are opened according to Communicator and INFO object.
|
|
H5Dopen now records the communicator and INFO setup by H5Pset_mmpi
|
|
and pass them to the corresponding MPIO open file calls for
|
|
processing.
|
|
|
|
o This release has been tested on IBM SP2, Intel Red and SGI Origin 2000
|
|
systems. It uses the ROMIO version of MPIO interface for parallel
|
|
I/O supports.
|
|
|
|
|
|
|
|
%%%%1.0.0%%%% Release Information for hdf5-1.0.0
|
|
|
|
3. Changes from the Beta 1.0.0 Release to Release 1.0.0
|
|
====================================================================
|
|
|
|
* Added fill values for datasets. For contiguous datasets fill value
|
|
performance may be quite poor since the fill value is written to the
|
|
entire dataset when the dataset is created. This will be remedied
|
|
in a future version. Chunked datasets using fill values do not
|
|
incur any additional overhead. See H5Pset_fill_value().
|
|
|
|
* Multiple hdf5 files can be "mounted" on one another to create a
|
|
larger virtual file. See H5Fmount().
|
|
|
|
* Object names can be removed or changed but objects are never
|
|
actually removed from the file yet. See H5Gunlink() and H5Gmove().
|
|
|
|
* Added a tuning mechanism for B-trees to insure that sequential
|
|
writes to chunked datasets use less overhead. See H5Pset_btree_ratios().
|
|
|
|
* Various optimizations and bug fixes.
|
|
|
|
|
|
|
|
%%%%1.0.0 Beta%%%% Release Information for hdf5-1.0.0 Beta
|
|
|
|
2. Changes from the Second Alpha 1.0.0 Release to the Beta 1.0.0 Release
|
|
=========================================================================
|
|
|
|
* Strided hyperslab selections in dataspaces now working.
|
|
|
|
* The compression API has been replaced with a more general filter
|
|
API. See doc/html/Filters.html for details.
|
|
|
|
* Alpha-quality 2d ragged arrays are implemented as a layer built on
|
|
top of other hdf5 objects. The API and storage format will almost
|
|
certainly change.
|
|
|
|
* More debugging support including API tracing. See Debugging.html.
|
|
|
|
* C and Fortran style 8-bit fixed-length character string types are
|
|
supported with space or null padding or null termination and
|
|
translations between them.
|
|
|
|
* Added function H5Fflush() to write all cached data immediately to
|
|
the file.
|
|
|
|
* Datasets maintain a modification time which can be retrieved with
|
|
H5Gstat().
|
|
|
|
* The h5ls tool can display much more information, including all the
|
|
values of a dataset.
|
|
|
|
|
|
|
|
%%%%1.0.0 Alpha 2%%%% Release Information for hdf5-1.0.0 Alpha 2
|
|
|
|
1. Changes from the First Alpha 1.0.0 Release to
|
|
the Second Alpha 1.0.0 Release
|
|
=====================================================================
|
|
|
|
* 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 (the default) 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. Dangling and recursive symbolic links are supported.
|
|
|
|
* 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.
|
|
|
|
|
|
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.
|
|
|
|
|
|
LIST OF API FUNCTIONS
|
|
|
|
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'.
|
|
|
|
Library
|
|
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
|
|
H5get_libversion - retrieve library version info
|
|
H5check_version - check for specific library version
|
|
|
|
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_nfilters - get number of raw data filters
|
|
H5Pget_filter - get raw data filter properties
|
|
H5Pset_filter - set raw data filter properties
|
|
H5Pset_deflate - set deflate compression filter 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
|
|
+ H5Pset_preserve - set dataset transfer property list status
|
|
+ H5Pget_preserve - get dataset transfer property list status
|
|
+ H5Pset_hyper_cache - indicates whether to cache hyperslab blocks during I/O
|
|
+ H5Pget_hyper_cache - returns information regarding the caching of
|
|
hyperslab blocks during I/O
|
|
+ H5Pget_btree_ratios - sets B-tree split ratios for a dataset
|
|
transfer property list
|
|
+ H5Pset_btree_ratios - gets B-tree split ratios for a dataset
|
|
transfer property list
|
|
+ H5Pset_vlen_mem_manager - sets the memory manager for variable-length
|
|
datatype allocation
|
|
+ H5Pget_vlen_mem_manager - sets the memory manager for variable-length
|
|
datatype allocation
|
|
|
|
Datasets
|
|
H5Dclose - release dataset resources
|
|
H5Dcreate - create a new dataset
|
|
H5Dget_space - get data space
|
|
H5Dget_type - get data type
|
|
H5Dget_create_plist - get dataset creation properties
|
|
H5Dopen - open an existing dataset
|
|
H5Dread - read raw data
|
|
H5Dwrite - write raw data
|
|
H5Dextend - extend a dataset
|
|
+ H5Diterate - iterate over all selected elements in a dataspace
|
|
+ H5Dget_storage_size - return the amount of storage required for a dataset
|
|
+ H5Dvlen_reclaim - reclaim VL datatype memory buffers
|
|
|
|
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
|
|
|
|
Errors
|
|
H5Eclear - clear the error stack
|
|
H5Eprint - print an error stack
|
|
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
|
|
|
|
Files
|
|
H5Fclose - close a file and release resources
|
|
H5Fcreate - create a new file
|
|
H5Fget_create_plist - get file creation property list
|
|
H5Fget_access_plist - get file access property list
|
|
H5Fis_hdf5 - determine if a file is an hdf5 file
|
|
H5Fopen - open an existing file
|
|
H5Freopen - reopen an HDF5 file
|
|
H5Fmount - mount a file
|
|
H5Funmount - unmount a file
|
|
H5Fflush - flush all buffers associated with a file to disk
|
|
|
|
Groups
|
|
H5Gclose - close a group and release resources
|
|
H5Gcreate - create a new group
|
|
H5Gopen - open an existing group
|
|
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
|
|
H5Gget_objinfo - get information about a group entry
|
|
H5Gget_linkval - get the value of a soft link
|
|
H5Gget_comment - get the comment string for an object
|
|
H5Gset_comment - set the comment string for an object
|
|
|
|
Dataspaces
|
|
H5Screate - create a new data space
|
|
H5Scopy - copy a data space
|
|
H5Sclose - release data space
|
|
H5Screate_simple - create a new simple data space
|
|
H5Sset_space - set simple data space extents
|
|
H5Sis_simple - determine if data space is simple
|
|
H5Sset_extent_simple - set simple data space dimensionality and size
|
|
H5Sget_simple_extent_npoints - get number of points in simple extent
|
|
H5Sget_simple_extent_ndims - get simple data space dimensionality
|
|
H5Sget_simple_extent_dims - get simple data space size
|
|
H5Sget_simple_extent_type - get type of simple extent
|
|
H5Sset_extent_none - reset extent to be empty
|
|
H5Sextent_copy - copy the extent from one data space to another
|
|
H5Sget_select_npoints - get number of points selected for I/O
|
|
H5Sselect_hyperslab - set hyperslab dataspace selection
|
|
H5Sselect_elements - set element sequence dataspace selection
|
|
H5Sselect_all - select entire extent for I/O
|
|
H5Sselect_none - deselect all elements of extent
|
|
H5Soffset_simple - set selection offset
|
|
H5Sselect_valid - determine if selection is valid for extent
|
|
+ H5Sget_select_hyper_nblocks - get number of hyperslab blocks
|
|
+ H5Sget_select_hyper_blocklist - get the list of hyperslab blocks
|
|
currently selected
|
|
+ H5Sget_select_elem_npoints - get the number of element points
|
|
in the current selection
|
|
+ H5Sget_select_elem_pointlist - get the list of element points
|
|
currently selected
|
|
+ H5Sget_select_bounds - gets the bounding box containing
|
|
the current selection
|
|
|
|
Datatypes
|
|
H5Tclose - release data type resources
|
|
H5Topen - open a named data type
|
|
H5Tcommit - name a data type
|
|
H5Tcommitted - determine if a type is named
|
|
H5Tcopy - copy a data type
|
|
H5Tcreate - create a new data type
|
|
H5Tequal - compare two data types
|
|
H5Tlock - lock type to prevent changes
|
|
H5Tfind - find a data type conversion function
|
|
H5Tconvert - convert data from one type to another
|
|
H5Tregister - register a conversion function
|
|
H5Tunregister - remove a conversion function
|
|
H5Tget_overflow - get function that handles overflow conv. cases
|
|
H5Tset_overflow - set function to handle overflow conversion cases
|
|
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 scalar struct member
|
|
H5Tinsert_array - insert array struct member
|
|
H5Tpack - pack struct members
|
|
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
|
|
+ H5Tget_super - return the base datatype from which a
|
|
datatype is derived
|
|
+ H5Tvlen_create - creates a new variable-length dataype
|
|
+ H5Tenum_create - creates a new enumeration datatype
|
|
+ H5Tenum_insert - inserts a new enumeration datatype member
|
|
+ H5Tenum_nameof - returns the symbol name corresponding to a
|
|
specified member of an enumeration datatype
|
|
+ H5Tvalueof - return the value corresponding to a
|
|
specified member of an enumeration datatype
|
|
+ H5Tget_member_value - return the value of an enumeration datatype member
|
|
+ H5Tset_tag - tags an opaque datatype
|
|
+ H5Tget_tag - gets the tag associated with an opaque datatype
|
|
|
|
- H5Tregister_hard - register specific type conversion function
|
|
- H5Tregister_soft - register general type conversion function
|
|
|
|
Filters
|
|
H5Tregister - register a conversion function
|
|
|
|
Compression
|
|
H5Zregister - register new compression and uncompression
|
|
functions for a method specified by a method number
|
|
|
|
Identifiers
|
|
+ H5Iget_type - retrieve the type of an object
|
|
|
|
References
|
|
+ H5Rcreate - creates a reference
|
|
+ H5Rdereference - open the HDF5 object referenced
|
|
+ H5Rget_region - retrieve a dataspace with the specified region selected
|
|
+ H5Rget_object_type - retrieve the type of object that an
|
|
object reference points to
|
|
|
|
Ragged Arrays (alpha)
|
|
H5RAcreate - create a new ragged array
|
|
H5RAopen - open an existing array
|
|
H5RAclose - close a ragged array
|
|
H5RAwrite - write to an array
|
|
H5RAread - read from an array
|
|
|
|
|