459 lines
21 KiB
Plaintext
459 lines
21 KiB
Plaintext
HDF5 version 1.8.7-snap1 currently under development
|
|
================================================================================
|
|
|
|
INTRODUCTION
|
|
============
|
|
|
|
This document describes the differences between HDF5-1.8.6 and
|
|
HDF5 1.8.7-*, and contains information on the platforms tested and
|
|
known problems in HDF5-1.8.7-*.
|
|
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.7 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.7 release can be obtained from:
|
|
|
|
http://www.hdfgroup.org/HDF5/release/obtain5.html
|
|
|
|
User documentation for 1.8.7 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.7 (current
|
|
release) versus Release 1.8.6":
|
|
|
|
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.6
|
|
- Platforms Tested
|
|
- Supported Configuration Features Summary
|
|
- Known Problems
|
|
|
|
|
|
New Features
|
|
============
|
|
|
|
Configuration
|
|
-------------
|
|
- Added a new configure option, "--enable-unsupported", which can
|
|
be used to stop configure from preventing the use of unsupported
|
|
configure option combinations, such as c++ in parallel or fortran
|
|
with threadsafe. Use at your own risk, as it may result in a
|
|
library that won't compile or run as expected!
|
|
(MAM - 2010/11/17 - Bug 2061)
|
|
|
|
Library
|
|
-------
|
|
- Removed all old code for Metraowerks compilers, bracketed by
|
|
__MWERKS__). Metraowerks compiler is long gone. (AKC - 2010/11/17)
|
|
|
|
Parallel Library
|
|
----------------
|
|
- None
|
|
|
|
Tools
|
|
-----
|
|
- None
|
|
|
|
High-Level APIs
|
|
---------------
|
|
- None
|
|
|
|
F90 API
|
|
-------
|
|
- None
|
|
|
|
C++ API
|
|
-------
|
|
- None
|
|
|
|
|
|
Support for New Platforms, Languages, and Compilers
|
|
===================================================
|
|
- Intel V11.1 uses now -O3 optimization in production mode (EIP - 2010/10/08)
|
|
|
|
|
|
|
|
Bug Fixes since HDF5-1.8.6
|
|
==========================
|
|
|
|
Configuration
|
|
-------------
|
|
- None
|
|
|
|
Library
|
|
-------
|
|
- None
|
|
|
|
Parallel Library
|
|
----------------
|
|
- None
|
|
|
|
Tools
|
|
-----
|
|
- Improve h5diff performance. 1) use HDmemcmp() before comparing each
|
|
elements. 2) replace expensive H5Tequals() calls 3) retrieve datatype
|
|
information at dataset level not each element level for compound
|
|
datasets
|
|
- Fixed h5ls to display nested compound type with curly bracket
|
|
when -S (--simple) option is used with -l (--label), so it shows
|
|
which member (in curly bracket) belong to which nested compound type
|
|
and make the output make sense. bug#1979 (JKM 2010/11/09)
|
|
- Fixed h5diff to handle variable-length strings in a compound dataset
|
|
correctly. (also variable-length string array in a compound dataset)
|
|
Garbage values were displayed when h5diff compared multiple
|
|
variable-length strings in a compound type dataset.
|
|
Bug#1989 (JKM 2010/10/28)
|
|
- Fixed h5copy to fail gracefully when copying object to non-exist
|
|
group without -p option. Bug#2040 (JKM 2010/10/18)
|
|
|
|
F90 API
|
|
------
|
|
- None
|
|
|
|
C++ API
|
|
------
|
|
- None
|
|
|
|
High-Level APIs:
|
|
------
|
|
- None
|
|
|
|
Fortran High-Level APIs:
|
|
------
|
|
- None
|
|
|
|
|
|
Platforms Tested
|
|
================
|
|
The following platforms and compilers have been tested for this release.
|
|
|
|
AIX 5.3 xlc 7.0.0.9, 8.0.0.20, 9.0.0.4
|
|
(LLNL Up) xlC 7.0.0.9, 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.9
|
|
mpxlf_r 9.1.0.8
|
|
|
|
AIX 6.1 xlc 11.1.0.3
|
|
(NCSA BP) xlC 11.1.0.3
|
|
xlf 13.1.0.3
|
|
mpcc_r 11.1.0.3
|
|
mpxlf_r 13.1.0.3
|
|
|
|
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 11.0.074
|
|
SGI Altix SMP ia64 Intel(R) Fortran Itanium(R) Version 11.0.074
|
|
(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
|
|
|
|
Windows XP Visual Studio 2008 w/ Intel Fortran 10.1 (project files)
|
|
Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
|
|
Visual Studio 2010 (cmake)
|
|
Cygwin(1.7.7 native gcc(4.3.4) compiler and gfortran)
|
|
|
|
Windows XP x64 Visual Studio 2008 w/ Intel Fortran 10.1 (project files)
|
|
Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
|
|
Visual Studio 2010 (cmake)
|
|
Cygwin(1.7.7 native gcc(4.3.4) compiler and gfortran)
|
|
|
|
Windows Vista Visual Studio 2008 w/ Intel Fortran 10.1 (project files)
|
|
Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
|
|
|
|
Windows Vista x64 Visual Studio 2008 w/ Intel Fortran 10.1 (project files)
|
|
Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
|
|
|
|
Windows 7 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
|
|
Visual Studio 2010 (cmake)
|
|
|
|
Windows 7 x64 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
|
|
Visual Studio 2010 (cmake)
|
|
|
|
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 y(4) n(4) y y y
|
|
Windows Vista x64 n y(4) n(4) 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
|
|
AIX 6.1 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
|
|
|
|
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 n
|
|
Windows XP x64 y y(4) y n
|
|
Windows Vista y y(4) y y
|
|
Windows Vista x64 y y(4) y y
|
|
Mac OS X 10.5 y n y n
|
|
AIX 5.3 32- and 64-bit n n n n
|
|
AIX 6.1 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
|
|
|
|
(1) Fortran compiled with g95.
|
|
(2) With PGI and Absoft compilers.
|
|
(3) With PGI compiler for Fortran.
|
|
(4) Using Visual Studio 2008 w/ Intel Fortran 10.1 (Cygwin shared libraries are not supported)
|
|
Compiler versions for each platform are listed in the preceding
|
|
"Platforms Tested" table.
|
|
|
|
|
|
Known Problems
|
|
==============
|
|
* The AIX --enable-shared does not quite work. It can produce shared library
|
|
but there cannot be more than one shared libraries that interlinking with
|
|
each other. That means only C-API without High-level can work. Not very
|
|
usefule. We hope to have a solution in the next release. (AKC - 2010/10/15)
|
|
|
|
* The library's test dt_arith.c showed a compiler's rounding problem on
|
|
Cygwin when converting from unsigned long long to long double. The
|
|
library's own conversion works fine. We defined a macro for Cygwin to
|
|
skip this test until we can solve the problem. Please see bug #1813.
|
|
SLU - 2010/5/5
|
|
* All the VFL drivers aren't backward compatible. In H5FDpublic.h, the
|
|
structure H5FD_class_t changed in 1.8. There is new parameter added to
|
|
get_eoa and set_eoa callback functions. A new callback function
|
|
get_type_map was added in. The public function H5FDrealloc was taken
|
|
out in 1.8. The problem only happens when users define their own driver
|
|
for 1.6 and try to plug in 1.8 library. Because there's only one user
|
|
complaining about it, we (Elena, Quincey, and I) decided to leave it as
|
|
it is (see bug report #1279). Quincey will make a plan for 1.10.
|
|
SLU - 2010/2/2
|
|
* 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
|
|
|
|
* 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
|
|
|
|
* 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.
|
|
|
|
* On cobalt, an SGI Altix SMP ia64 system, Intel compiler version 10.1 (which
|
|
is the default on that system) does not work properly, and results in
|
|
failures during make check (in a static build) and make installcheck (during
|
|
a shared build). This appears to be a compiler optimization problem.
|
|
Reducing optimization by setting CFLAGS to -O1 or below resolves the issue.
|
|
Alternatively, using a newer version of the compiler (11.0) also works as
|
|
intended. MAM - 2010/06/01
|