439 lines
20 KiB
Plaintext
439 lines
20 KiB
Plaintext
HDF5 version 1.8.4-snap2 currently under development
|
|
================================================================================
|
|
|
|
INTRODUCTION
|
|
============
|
|
|
|
This document describes the differences between HDF5-1.8.4 and
|
|
HDF5 1.8.4-*, and contains information on the platforms tested and
|
|
known problems in HDF5-1.8.4-*.
|
|
For more details, see the files HISTORY-1_0-1_8_0_rc3.txt
|
|
and HISTORY-1_8.txt in the release_docs/ directory of the HDF5 source.
|
|
|
|
Links to the HDF5 1.8.4 source code, documentation, and additional materials
|
|
can be found on the HDF5 web page at:
|
|
|
|
http://www.hdfgroup.org/products/hdf5/
|
|
|
|
The HDF5 1.8.4 release can be obtained from:
|
|
|
|
http://www.hdfgroup.org/HDF5/release/obtain5.html
|
|
|
|
User documentation for 1.8.4 can be accessed directly at this location:
|
|
|
|
http://www.hdfgroup.org/HDF5/doc/
|
|
|
|
New features in the HDF5-1.8.x release series, including brief general
|
|
descriptions of some new and modified APIs, are described in the "What's New
|
|
in 1.8.0?" document:
|
|
|
|
http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html
|
|
|
|
All new and modified APIs are listed in detail in the "HDF5 Software Changes
|
|
from Release to Release" document, in the section "Release 1.8.4 (current
|
|
release) versus Release 1.8.3":
|
|
|
|
http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html
|
|
|
|
If you have any questions or comments, please send them to the HDF Help Desk:
|
|
|
|
help@hdfgroup.org
|
|
|
|
|
|
CONTENTS
|
|
========
|
|
|
|
- New Features
|
|
- Support for New Platforms, Languages, and Compilers
|
|
- Bug Fixes since HDF5-1.8.4
|
|
- Platforms Tested
|
|
- Supported Configuration Features Summary
|
|
- Known Problems
|
|
|
|
|
|
New Features
|
|
============
|
|
|
|
Configuration
|
|
-------------
|
|
- Added the xlc-* and mpcc_r-* BASENAME patterns to be recognized as IBM
|
|
compilers so that the ibm compiler options can be added properly. This
|
|
allows non-system-default compiler command names (e.g. xlc-m.n.k.l) be
|
|
recognized. AKC 2009/11/26.
|
|
|
|
Library
|
|
-------
|
|
- Added support for filtering densely stored groups. Many of the API
|
|
functions related to filters have been extended to support dense groups
|
|
as well as datasets. Pipeline messages can now be stored in a group's
|
|
object header. (NAF/QAK - 2009/11/3)
|
|
|
|
Parallel Library
|
|
----------------
|
|
- None
|
|
|
|
Tools
|
|
-----
|
|
- h5diff: fix for displaying garbage value on LE machine for BE data.
|
|
(JKM - 2009/11/20)
|
|
|
|
|
|
High-Level APIs
|
|
---------------
|
|
- None
|
|
|
|
F90 API
|
|
-------
|
|
- None
|
|
|
|
C++ API
|
|
-------
|
|
- New member function DataSet::getInMemDataSize() to simplify
|
|
getting the dataset's data size in memory. (BMR - 2009/07/26)
|
|
|
|
|
|
Support for New Platforms, Languages, and Compilers
|
|
===================================================
|
|
- None
|
|
|
|
|
|
Bug Fixes since HDF5-1.8.4
|
|
==========================
|
|
|
|
Configuration
|
|
-------------
|
|
- None EIP - 2009/10/21
|
|
|
|
Library
|
|
-------
|
|
- H5Tdetect_class said a VL string is a string type. But when it's in
|
|
a compound type, it said it's a VL type (Bug #1584). I fixed it to
|
|
be consistent. It always return string type. (SLU - 2009/12/10)
|
|
- Allow "child" files from external links to be correctly located when
|
|
relative to a "parent" file that is opened through a symbolic link.
|
|
(QAK - 2009/12/01)
|
|
|
|
Parallel Library
|
|
----------------
|
|
- None EIP - 2009/10/21
|
|
|
|
Tools
|
|
-----
|
|
- None EIP - 2009/10/21
|
|
|
|
|
|
F90 API
|
|
------
|
|
- None EIP - 2009/10/21
|
|
|
|
C++ API
|
|
------
|
|
- The parameters 'size' and 'bufsize' in CommonFG::getLinkval and
|
|
CommonFG::getComment, respectively, now have default values for
|
|
user's convenience. (BMR - 2009/10/23)
|
|
- NULL pointer accessing was fixed, bugzilla 1061. (BMR - 2009/10/05)
|
|
- read/write methods of DataSet and Attribute classes were fixed
|
|
to handle string correctly. (BMR - 2009/07/26)
|
|
|
|
High-Level APIs:
|
|
------
|
|
- None EIP - 2009/10/21
|
|
|
|
Fortran High-Level APIs:
|
|
------
|
|
- None EIP - 2009/10/21
|
|
|
|
|
|
Platforms Tested
|
|
================
|
|
The following platforms and compilers have been tested for this release.
|
|
|
|
AIX 5.3 xlc 7.0.0.8, 8.0.0.20, 9.0.0.4
|
|
(LLNL Up) xlC 7.0.0.8, 8.0.0.20, 9.0.0.4
|
|
xlf 9.1.0.8, 10.1.0.9, 11.1.0.7
|
|
mpcc_r 7.0.0.8
|
|
mpxlf_r 09.01.0000.0008
|
|
|
|
Cray XT3 (2.0.41) cc (pgcc) 7.1-4
|
|
(SNL red storm) ftn (pgf90) 7.1-4
|
|
CC (pgCC) 7.1-4
|
|
|
|
FreeBSD 6.3-STABLE i386 gcc 3.4.6 [FreeBSD] 20060305
|
|
(duty) g++ 3.4.6 [FreeBSD] 20060305
|
|
gcc 4.3.4 20090419
|
|
g++ 4.3.4 20090419
|
|
gfortran 4.3.4 20090419
|
|
|
|
FreeBSD 6.3-STABLE amd64 gcc 3.4.6 [FreeBSD] 20060305
|
|
(liberty) g++ 3.4.6 [FreeBSD] 20060305
|
|
gcc 4.4.1 20090421
|
|
g++ 4.4.1 20090421
|
|
gfortran 4.4.1 20090421
|
|
|
|
Linux 2.6.18-128.1.6.el5xen gcc (GCC) 4.1.2
|
|
#1 SMP i686 i686 i386 G95 (GCC 4.0.3 (g95 0.92!) Feb 4 2009)
|
|
(jam) GNU Fortran (GCC) 4.1.2 20080704
|
|
(Red Hat 4.1.2-46)
|
|
PGI C, Fortran, C++ 7.2-1 32-bit
|
|
PGI C, Fortran, C++ 8.0-1 32-bit
|
|
Intel(R) C Compiler for 32-bit
|
|
applications, Versions 10.1, 11.0
|
|
Intel(R) C++ Compiler for 32-bit
|
|
applications, Version 10.1, 11.0
|
|
Intel(R) Fortran Compiler for 32-bit
|
|
applications, Version 10.1, 11.0
|
|
Absoft 32-bit Fortran 95 10.0.7
|
|
MPICH mpich2-1.0.8 compiled with
|
|
gcc 4.1.2 and G95 (GCC 4.0.3 (g95 0.92!)
|
|
|
|
Linux 2.6.9-42.0.10.ELsmp #1 gcc (GCC) 3.4.6
|
|
SMP i686 i686 i386 G95 (GCC 4.0.3 (g95 0.92!) Feb 4 2009)
|
|
(kagiso) MPICH mpich2-1.0.8 compiled with
|
|
gcc 3.4.6 and G95 (GCC 4.0.3 (g95 0.92!)
|
|
|
|
Linux 2.6.18-164.el5 #1 SMP gcc 4.1.2 20080704
|
|
x86_64 GNU/Linux G95 (GCC 4.0.3 (g95 0.92!) Jun 24 2009)
|
|
(amani) tested for both 32- and 64-bit binaries
|
|
Intel(R) C, C++, Fortran Compilers for
|
|
applications running on Intel(R) 64,
|
|
Versions 11.1.
|
|
PGI C, Fortran, C++ Version 9.0-4
|
|
for 64-bit target on x86-64
|
|
gcc 4.1.2 and G95 (GCC 4.0.3 (g95 0.92!)
|
|
MPICH mpich2-1.0.8 compiled with
|
|
gcc 4.1.2 and G95 (GCC 4.0.3 (g95 0.92!)
|
|
GNU Fortran (GCC) 4.1.2 20080704
|
|
(Red Hat 4.1.2-46)
|
|
|
|
|
|
Linux 2.6.16.54-0.2.5 #1 Intel(R) C++ Version 10.1.017
|
|
SGI Altix SMP ia64 Intel(R) Fortran Itanium(R) Version 10.1.017
|
|
(cobalt) SGI MPI 1.38
|
|
|
|
SunOS 5.10 32- and 64-bit Sun WorkShop 6 update 2 C 5.9 Patch 124867-09
|
|
(linew) Sun WorkShop 6 update 2 Fortran 95 8.3
|
|
Patch 127000-07
|
|
Sun WorkShop 6 update 2 C++ 5.9
|
|
Patch 124863-16 2009/09/15
|
|
|
|
Intel Xeon Linux 2.6.18- gcc 3.4.6 20060404
|
|
92.1.10.el5_lustre.1.6.6smp- Intel(R) C++ Version 10.0.026
|
|
perfctr #2 SMP Intel(R) Fortran Compiler Version 10.0.026
|
|
(abe) Open MPI 1.2.2
|
|
MVAPICH2-0.9.8p28p2patched-intel-ofed-1.2
|
|
compiled with icc v10.0.026 and ifort 10.0.026
|
|
|
|
IA-64 Linux 2.4.21-309.tg1 gcc (GCC) 3.2.2
|
|
#1 SMP ia64 Intel(R) C++ Version 8.1.037
|
|
(NCSA tg-login) Intel(R) Fortran Compiler Version 8.1.033
|
|
mpich-gm-1.2.7p1..16-intel-8.1.037-r1
|
|
|
|
Linux 2.6.9-55.0.9.EL_lustre Intel(R) C, C++, Fortran Compilers for
|
|
.1.4.11.1smp #1 SMP applications running on Intel(R) 64,
|
|
SMP x86_64 GNU/Linux Versions 10.1.
|
|
(SNL Thunderbird)
|
|
|
|
Linux 2.6.18-76chaos #1 SMP Intel(R) C, C++, Fortran Compilers for
|
|
SMP x86_64 GNU/Linux applications running on Intel(R) 64,
|
|
(SNL Glory) Versions 10.1.
|
|
|
|
Windows XP Visual Studio .NET
|
|
Visual Studio 2005 w/ Intel Fortran 9.1
|
|
Cygwin(native gcc compiler and g95)
|
|
MinGW(5.1.6 with gcc 4.4.0)
|
|
|
|
Windows XP x64 Visual Studio 2005 w/ Intel Fortran 9.1
|
|
|
|
Windows Vista Visual Studio 2005
|
|
|
|
MAC OS 10.5.6 (Intel) i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1
|
|
GNU Fortran (GCC) 4.3.0 20070810
|
|
G95 (GCC 4.0.3 (g95 0.91!) Apr 24 2008)
|
|
Intel C, C++ and Fortran compilers 10.1
|
|
|
|
|
|
Supported Configuration Features Summary
|
|
========================================
|
|
|
|
In the tables below
|
|
y = tested and supported
|
|
n = not supported or not tested in this release
|
|
C = Cluster
|
|
W = Workstation
|
|
x = not working in this release
|
|
dna = does not apply
|
|
( ) = footnote appears below second table
|
|
<blank> = testing incomplete on this feature or platform
|
|
|
|
Platform C F90 F90 C++ zlib SZIP
|
|
parallel parallel
|
|
Solaris2.10 32-bit n y n y y y
|
|
Solaris2.10 64-bit n y n y y y
|
|
Windows XP n y(4) n(4) y y y
|
|
Windows XP x64 n y(4) n(4) y y y
|
|
Windows Vista n n n y y y
|
|
Mac OS X 10.5 Intel n y n y y y
|
|
AIX 5.3 32- and 64-bit n y n y y n
|
|
FreeBSD 6.3-STABLE 32&64 bit n y n y y y
|
|
RedHat EL4 2.6.9-42 i686 GNU (1) W y y y y y y
|
|
RedHat EL5 2.6.18-128 i686 GNU (1)W y y(2) y y y y
|
|
RedHat EL5 2.6.18-128 i686 Intel W n y n y y n
|
|
RedHat EL5 2.6.18-128 i686 PGI W n y n y y n
|
|
SuSe Linux 2.6.16 x86_64 GNU (1) W y y(3) y y y y
|
|
SuSe Linux 2.6.16 x86_64 Intel W n y n y y n
|
|
SuSe Linux 2.6.16 x86_64 PGI W n y n y y y
|
|
SuSe Linux 2.6.16 SGI Altix ia64 C y y y y y y
|
|
RedHat EL4 2.6.18 Xeon Lustre C y y y y y n
|
|
SuSe Linux 2.4.21 ia64 Intel C y y y y y n
|
|
Cray XT3 2.0.62 y y y y y n
|
|
|
|
|
|
Platform Shared Shared Shared Thread-
|
|
C libs F90 libs C++ libs safe
|
|
Solaris2.10 32-bit y y y y
|
|
Solaris2.10 64-bit y y y y
|
|
Windows XP y y(4) y y
|
|
Windows XP x64 y y(4) y y
|
|
Windows Vista y n n y
|
|
Mac OS X 10.5 y n y n
|
|
AIX 5.3 32- and 64-bit n n n n
|
|
FreeBSD 6.3-STABLE 32&64 bit y n y y
|
|
RedHat EL4 2.6.9-42 i686 GNU (1) W y y y y
|
|
RedHat EL5 2.6.18-128 i686 GNU (1)W y y(2) y y
|
|
RedHat EL5 2.6.18-128 i686 Intel W y y y n
|
|
RedHat EL5 2.6.18-128 i686 PGI W y y y n
|
|
SuSe Linux 2.6.16 x86_64 GNU (1) W y y y y
|
|
SuSe Linux 2.6.16 x86_64 Intel W y y y n
|
|
SuSe Linux 2.6.16 x86_64 PGI W y y y n
|
|
SuSe Linux 2.6.16 SGI Altix ia64 C y n
|
|
RedHat EL4 2.6.18 Xeon Lustre C y y y n
|
|
SuSe Linux 2.4.21 ia64 Intel C y y y n
|
|
Cray XT3 2.0.62 n n n n
|
|
|
|
(1) Fortran compiled with g95.
|
|
(2) With PGI and Absoft compilers.
|
|
(3) With PGI compiler for Fortran.
|
|
(4) Using Visual Studio 2005 or Cygwin
|
|
Compiler versions for each platform are listed in the preceding
|
|
"Platforms Tested" table.
|
|
|
|
|
|
Known Problems
|
|
==============
|
|
* MinGW has a missing libstdc++.dll.a library file and will not successfully link
|
|
C++ applications/tests. Do not use the enable-cxx configure option. Read all of
|
|
the INSTALL_MINGW.txt file for all restrictions. ADB - 2009/11/11
|
|
|
|
* Parallel mode in AIX will fail some of the testcheck_version.sh tests where
|
|
it treats "exit(134) the same as if process 0 had received an abort signal.
|
|
This is fixed and will be available in the next release. AKC - 2009/11/3
|
|
|
|
* Some tests in tools/h5repack may fail in AIX systems when -q32 mode is used.
|
|
The error is due to insufficient memory requested. Request a large amount
|
|
of runtime memory by setting the following environment variable for more
|
|
memory.
|
|
LDR_CNTRL=MAXDATA=0x20000000@DSA
|
|
AKC - 2009/10/31
|
|
|
|
* The PathScale MPI implementation, accessing a Panasas file system, would
|
|
cause H5Fcreate() with H5F_ACC_EXCL to fail even when the file is not
|
|
existing. This is due to the MPI_File_open() call failing if the amode has
|
|
the MPI_MODE_EXCL bit set. (See bug 1468 for details.) AKC - 2009/8/11
|
|
|
|
* Parallel tests failed with 16 processes with data inconsistency at testphdf5
|
|
/ dataset_readAll. Parallel tests also failed with 32 and 64 processes with
|
|
collective abort of all ranks at t_posix_compliant / allwrite_allread_blocks
|
|
with MPI IO. CMC - 2009/04/28
|
|
|
|
* There is a known issue in which HDF5 will change the timestamp on a file
|
|
simply by opening it with read/write permissions, even if the file is not
|
|
modified in any way. This is due to the way in which HDF5 manages the file
|
|
superblock. A fix is currently underway and should be included in the 1.8.4
|
|
release of HDF5. MAM - 2009/04/28
|
|
|
|
* For gcc v4.3 and v4.4, with production mode, if -O3 is used, H5Tinit.c
|
|
would fail to compile. Actually bad H5Tinit.c is produced. If -O (same
|
|
as -O1) is used, H5Tinit.c compiled okay but test/dt_arith would fail.
|
|
When -O0 (no optimizatio) is used, H5Tinit.c compilete okay and all
|
|
tests passed. Therefore, -O0 is imposed for v4.3 and v4.4 of gcc.
|
|
AKC - 2009/04/20
|
|
|
|
* For Red Storm, a Cray XT3 system, the tools/h5ls/testh5ls.sh and
|
|
tools/h5copy/testh5copy.sh will fail some of its sub-tests. These sub-tests
|
|
are expected to fail and should exit with a non-zero code but the yod
|
|
command does not propagate the exit code of the executables. Yod always
|
|
returns 0 if it can launch the executable. The test suite shell expects
|
|
a non-zero for this particular test, therefore it concludes the test has
|
|
failed when it receives 0 from yod. Skip all the "failing" test for now
|
|
by changing them as following.
|
|
|
|
======== Original tools/h5ls/testh5ls.sh =========
|
|
TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
|
|
======== Change to ===============================
|
|
echo SKIP TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
|
|
==================================================
|
|
|
|
======== Original tools/h5copy/testh5copy.sh =========
|
|
TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename
|
|
TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets
|
|
TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets
|
|
TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested
|
|
H5LSTEST $FILEOUT
|
|
======== Change to ===============================
|
|
echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename
|
|
echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets
|
|
echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets
|
|
echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested
|
|
echo SKIP H5LSTEST $FILEOUT
|
|
==================================================
|
|
AKC - 2008/11/10
|
|
|
|
* For Red Storm, a Cray XT3 system, the yod command sometimes gives the
|
|
message, "yod allocation delayed for node recovery". This interferes with
|
|
test suites that do not expect seeing this message. See the section of "Red
|
|
Storm" in file INSTALL_parallel for a way to deal with this problem.
|
|
AKC - 2008/05/28
|
|
|
|
* On Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers,
|
|
use -mp -O1 compilation flags to build the libraries. A higher level of
|
|
optimization causes failures in several HDF5 library tests.
|
|
|
|
* On mpich 1.2.5 and 1.2.6, if more than two processes contribute no IO and
|
|
the application asks to do collective IO, we have found that when using 4
|
|
processors, a simple collective write will sometimes be hung. This can be
|
|
verified with t_mpi test under testpar.
|
|
|
|
* A dataset created or rewritten with a v1.6.3 library or after cannot be read
|
|
with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled.
|
|
There was a bug in the calculation of the Fletcher32 checksum in the
|
|
library before v1.6.3; the checksum value was not consistent between big-
|
|
endian and little-endian systems. This bug was fixed in Release 1.6.3.
|
|
However, after fixing the bug, the checksum value was no longer the same as
|
|
before on little-endian system. Library releases after 1.6.4 can still read
|
|
datasets created or rewritten with an HDF5 library of v1.6.2 or before.
|
|
SLU - 2005/6/30
|
|
|
|
* On IBM AIX systems, parallel HDF5 mode will fail some tests with error
|
|
messages like "INFO: 0031-XXX ...". This is from the command `poe'.
|
|
Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
|
|
and run the tests again.
|
|
|
|
The tests may fail with messages like "The socket name is already in use",
|
|
but HDF5 does not use sockets. This failure is due to problems with the
|
|
poe command trying to set up the debug socket. To resolve this problem,
|
|
check to see whether there are many old /tmp/s.pedb.* files staying around.
|
|
These are sockets used by the poe command and left behind due to failed
|
|
commands. First, ask your system administrator to clean them out.
|
|
Lastly, request IBM to provide a means to run poe without the debug socket.
|
|
|
|
* The --enable-static-exec configure flag will only statically link libraries
|
|
if the static version of that library is present. If only the shared version
|
|
of a library exists (i.e., most system libraries on Solaris, AIX, and Mac,
|
|
for example, only have shared versions), the flag should still result in a
|
|
successful compilation, but note that the installed executables will not be
|
|
fully static. Thus, the only guarantee on these systems is that the
|
|
executable is statically linked with just the HDF5 library.
|
|
|
|
* There is also a configure error on Altix machines that incorrectly reports
|
|
when a version of Szip without an encoder is being used.
|