mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-11-27 02:10:55 +08:00
db2631c956
Purpose: Maintenance for 1.6 release Description: HISTORY.txt was not updated in 1.5 branch since 1.2.0 release. RELEASE.txt had a lot of redundant info that is now in HISTORY.txt INSTALL_Windows_withF90.txt was lost in 1.5 branch. Solution: I updated HISTORY.txt to include release history up to 1.4.5 release. After that I removed all information related to the 1.4.* releases from RELEASE.txt file. "Platforms Tested" section was brought up to date based on the information provided by developers for 1.6.0 first round of testing. RELEASE.txt still needs a lot of work. INSTALL_Windows_withF90.txt is also a first draft, more work is needed. Platforms tested: N/A Misc. update:
3181 lines
139 KiB
Plaintext
3181 lines
139 KiB
Plaintext
HDF5 HISTORY
|
|
============
|
|
This file contains history of the HDF5 libraries releases
|
|
|
|
CONTENTS
|
|
|
|
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.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
|
|
|
|
|