mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-12-09 07:32:32 +08:00
442 lines
16 KiB
Plaintext
442 lines
16 KiB
Plaintext
HDF5 version 1.11.0 currently under development
|
||
================================================================================
|
||
|
||
|
||
INTRODUCTION
|
||
|
||
This document describes the differences between HDF5-1.10.1 and HDF5 1.10.2, and
|
||
contains information on the platforms tested and known problems in HDF5-1.10.1.
|
||
For more details check the HISTORY*.txt files in the HDF5 source.
|
||
|
||
|
||
Links to HDF5 1.10.1 source code, documentation, and additional materials can be found on The HDF5 web page at:
|
||
|
||
https://support.hdfgroup.org/HDF5/
|
||
|
||
The HDF5 1.10.1 release can be obtained from:
|
||
|
||
https://support.hdfgroup.org/HDF5/release/obtain5.html
|
||
|
||
User documentation for the snapshot can be accessed directly at this location:
|
||
|
||
https://support.hdfgroup.org/HDF5/doc/
|
||
|
||
New features in the HDF5-1.10.x release series, including brief general
|
||
descriptions of some new and modified APIs, are described in the "New Features
|
||
in HDF5 1.10" document:
|
||
|
||
https://support.hdfgroup.org/HDF5/docNewFeatures/index.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.10.1 (current
|
||
release) versus Release 1.10.0
|
||
|
||
https://support.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 and languages
|
||
- Bug Fixes since HDF5-1.10.1
|
||
- Supported Platforms
|
||
- Tested Configuration Features Summary
|
||
- More Tested Platforms
|
||
- Known Problems
|
||
|
||
|
||
New Features
|
||
============
|
||
|
||
Configuration:
|
||
-------------
|
||
-
|
||
|
||
Library:
|
||
--------
|
||
-
|
||
|
||
Parallel Library:
|
||
-----------------
|
||
- Large MPI-IO transfers
|
||
|
||
Previous releases of PHDF5 would fail when attempting to
|
||
read or write greater than 2GB of data in a single IO operation.
|
||
This issue stems principally from an MPI API whose definitions
|
||
utilize 32 bit integers to describe the number of data elements
|
||
and datatype that MPI should use to effect a data transfer.
|
||
Historically, HDF5 has invoked MPI-IO with the number of
|
||
elements in a contiguous buffer represented as the length
|
||
of that buffer in bytes.
|
||
|
||
Resolving the issue and thus enabling larger MPI-IO transfers
|
||
is accomplished first, by detecting when a user IO request would
|
||
exceed the 2GB limit as described above. Once a transfer request
|
||
is identified as requiring special handling, PHDF5 now creates a
|
||
derived datatype consisting of a vector of fixed sized blocks
|
||
which is in turn wrapped within a single MPI_Type_struct to
|
||
contain the vector and any remaining data. The newly created
|
||
datatype is then used in place of MPI_BYTE and can be used to
|
||
fulfill the original user request without encountering API
|
||
errors.
|
||
|
||
(RAW – 2017/07/11, HDFFV-8839)
|
||
|
||
Fortran Library:
|
||
----------------
|
||
-
|
||
|
||
C++ Library:
|
||
------------
|
||
-
|
||
|
||
Tools:
|
||
------
|
||
- h5diff
|
||
|
||
h5diff has new option enable-error-stack.
|
||
|
||
Updated h5diff with the --enable-error-stack argument, which
|
||
enables the display of the hdf5 error stack. This completes the
|
||
improvement to the main tools; h5copy, h5diff, h5dump, h5ls and
|
||
h5repack.
|
||
|
||
(ADB - 2017/08/30, HDFFV-9774)
|
||
|
||
High-Level APIs:
|
||
---------------
|
||
-
|
||
|
||
C Packet Table API
|
||
------------------
|
||
-
|
||
|
||
Internal header file
|
||
--------------------
|
||
-
|
||
|
||
Documentation
|
||
-------------
|
||
-
|
||
|
||
Support for new platforms, languages and compilers.
|
||
=======================================
|
||
-
|
||
|
||
Bug Fixes since HDF5-1.10.1 release
|
||
==================================
|
||
|
||
Library
|
||
-------
|
||
-
|
||
|
||
Configuration
|
||
-------------
|
||
- cmake
|
||
|
||
Too many commands for POST_BUILD step caused command line to be
|
||
too big on windows.
|
||
|
||
Changed foreach of copy command to use a custom command with the
|
||
use of the HDFTEST_COPY_FILE macro.
|
||
|
||
(ADB - 2017/07/12, HDFFV-10254)
|
||
|
||
Performance
|
||
-------------
|
||
-
|
||
|
||
Fortran
|
||
--------
|
||
-
|
||
|
||
Tools
|
||
-----
|
||
- h5repack
|
||
|
||
h5repack always set the User Defined filter flag to H5Z_FLAG_MANDATORY.
|
||
|
||
Added another parameter to the 'UD=' option to set the flag by default
|
||
to '0' or H5Z_FLAG_MANDATORY, the other choice is '1' or H5Z_FLAG_OPTIONAL.
|
||
|
||
(ADB - 2017/08/31, HDFFV-10276)
|
||
|
||
- h5ls
|
||
|
||
h5ls generated error on stack when it encountered a H5S_NULL
|
||
dataspace.
|
||
|
||
Adding checks for H5S_NULL before calling H5Sis_simple (located
|
||
in the h5tools_dump_mem function) fixed the issue.
|
||
|
||
(ADB - 2017/08/17, HDFFV-10188)
|
||
|
||
- h5dump
|
||
|
||
h5dump segfaulted on output of XML file.
|
||
|
||
Function that escape'd strings used the full buffer length
|
||
instead of just the length of the replacement string in a
|
||
strncpy call. Using the correct length fixed the issue.
|
||
|
||
(ADB - 2017/08/01, HDFFV-10256)
|
||
|
||
- h5diff
|
||
|
||
h5diff segfaulted on compare of a NULL variable length string.
|
||
|
||
Improved h5diff compare of strings by adding a check for
|
||
NULL strings and setting the lengths to zero.
|
||
|
||
(ADB - 2017/07/25, HDFFV-10246)
|
||
|
||
- h5import
|
||
|
||
h5import crashed trying to import data from a subset of a dataset.
|
||
|
||
Improved h5import by adding the SUBSET keyword. h5import understands
|
||
to use the Count times the Block as the size of the dimensions.
|
||
Added INPUT_B_ORDER keyword to old-style configuration files.
|
||
The import from h5dump function expects the binary files to use native
|
||
types (FILE '-b' option) in the binary file.
|
||
|
||
(ADB - 2017/06/15, HDFFV-10219)
|
||
|
||
- h5repack
|
||
|
||
h5repack did not maintain the creation order flag of the root
|
||
group.
|
||
|
||
Improved h5repack by reading the creation order and applying the
|
||
flag to the new root group. Also added arguments to set the
|
||
order and index direction, which applies to the traversing of the
|
||
original file, on the command line.
|
||
|
||
(ADB - 2017/05/26, HDFFV-8611)
|
||
|
||
- h5diff
|
||
|
||
h5diff failed to account for strpad type and null terminators
|
||
of char strings. Also, h5diff failed to account for string length
|
||
differences and would give a different result depending on file
|
||
order in the command line.
|
||
|
||
Improved h5diff compare of strings and arrays by adding a check for
|
||
string lengths and if the strpad was null filled.
|
||
|
||
(ADB - 2017/05/18, HDFFV-9055, HDFFV-10128)
|
||
|
||
High-Level APIs:
|
||
------
|
||
-
|
||
|
||
Fortran High-Level APIs:
|
||
------
|
||
-
|
||
|
||
Documentation
|
||
-------------
|
||
-
|
||
|
||
F90 APIs
|
||
--------
|
||
-
|
||
|
||
C++ APIs
|
||
--------
|
||
-
|
||
|
||
Testing
|
||
-------
|
||
-
|
||
|
||
Supported Platforms
|
||
===================
|
||
|
||
Linux 2.6.32-573.22.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++)
|
||
#1 SMP x86_64 GNU/Linux compilers:
|
||
(mayll/platypus) Version 4.4.7 20120313
|
||
Version 4.8.4
|
||
PGI C, Fortran, C++ for 64-bit target on
|
||
x86-64;
|
||
Version 16.10-0
|
||
Intel(R) C (icc), C++ (icpc), Fortran (icc)
|
||
compilers:
|
||
Version 15.0.3.187 (Build 20150407)
|
||
MPICH 3.1.4 compiled with GCC 4.9.3
|
||
|
||
Linux 2.6.32-573.18.1.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
|
||
#1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
|
||
(ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
|
||
IBM XL C/C++ V13.1
|
||
IBM XL Fortran V15.1
|
||
|
||
Linux 3.10.0-327.10.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++)
|
||
#1 SMP x86_64 GNU/Linux compilers:
|
||
(kituo/moohan) Version 4.8.5 20150623 (Red Hat 4.8.5-4)
|
||
Version 4.9.3, Version 5.2.0
|
||
Intel(R) C (icc), C++ (icpc), Fortran (icc)
|
||
compilers:
|
||
Version 15.0.3.187 Build 20150407
|
||
MPICH 3.1.4 compiled with GCC 4.9.3
|
||
|
||
SunOS 5.11 32- and 64-bit Sun C 5.12 SunOS_sparc
|
||
(emu) Sun Fortran 95 8.6 SunOS_sparc
|
||
Sun C++ 5.12 SunOS_sparc
|
||
|
||
Windows 7 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
|
||
Visual Studio 2013 w/ Intel Fortran 15 (cmake)
|
||
Visual Studio 2015 w/ Intel Fortran 16 (cmake)
|
||
Cygwin(CYGWIN_NT-6.1 2.2.1(0.289/5/3) gcc(4.9.3) compiler and gfortran)
|
||
(cmake and autotools)
|
||
|
||
Windows 7 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
|
||
Visual Studio 2013 w/ Intel Fortran 15 (cmake)
|
||
Visual Studio 2015 w/ Intel Fortran 16 (cmake)
|
||
Visual Studio 2015 w/ Intel Parallel Studio 2017 (cmake)
|
||
|
||
Windows 10 Visual Studio 2015 w/ Intel Fortran 16 (cmake)
|
||
|
||
Windows 10 x64 Visual Studio 2015 w/ Intel Fortran 16 (cmake)
|
||
|
||
Mac OS X Mt. Lion 10.8.5 Apple clang/clang++ version 5.1 from Xcode 5.1
|
||
64-bit gfortran GNU Fortran (GCC) 4.8.2
|
||
(swallow/kite) Intel icc/icpc/ifort version 15.0.3
|
||
|
||
Mac OS X Mavericks 10.9.5 Apple clang/clang++ version 6.0 from Xcode 6.2
|
||
64-bit gfortran GNU Fortran (GCC) 4.9.2
|
||
(wren/quail) Intel icc/icpc/ifort version 15.0.3
|
||
|
||
Mac OS X Yosemite 10.10.5 Apple clang/clang++ version 6.1 from Xcode 7.0
|
||
64-bit gfortran GNU Fortran (GCC) 4.9.2
|
||
(osx1010dev/osx1010test) Intel icc/icpc/ifort version 15.0.3
|
||
|
||
Mac OS X El Capitan 10.11.6 Apple clang/clang++ version 7.3.0 from Xcode 7.3
|
||
64-bit gfortran GNU Fortran (GCC) 5.2.0
|
||
(osx1010dev/osx1010test) Intel icc/icpc/ifort version 16.0.2
|
||
|
||
|
||
Tested Configuration Features Summary
|
||
=====================================
|
||
|
||
In the tables below
|
||
y = tested
|
||
n = 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 F2003 parallel
|
||
Solaris2.11 32-bit n y/y n y y y
|
||
Solaris2.11 64-bit n y/n n y y y
|
||
Windows 7 y y/y n y y y
|
||
Windows 7 x64 y y/y y y y y
|
||
Windows 7 Cygwin n y/n n y y y
|
||
Windows 7 x64 Cygwin n y/n n y y y
|
||
Windows 10 y y/y n y y y
|
||
Windows 10 x64 y y/y n y y y
|
||
Mac OS X Mountain Lion 10.8.5 64-bit n y/y n y y y
|
||
Mac OS X Mavericks 10.9.5 64-bit n y/y n y y ?
|
||
Mac OS X Yosemite 10.10.5 64-bit n y/y n y y ?
|
||
Mac OS X El Capitan 10.11.6 64-bit n y/y n y y ?
|
||
CentOS 6.7 Linux 2.6.18 x86_64 GNU n y/y n y y y
|
||
CentOS 6.7 Linux 2.6.18 x86_64 Intel n y/y n y y y
|
||
CentOS 6.7 Linux 2.6.32 x86_64 PGI n y/y n y y y
|
||
CentOS 7.2 Linux 2.6.32 x86_64 GNU y y/y y y y y
|
||
CentOS 7.2 Linux 2.6.32 x86_64 Intel n y/y n y y y
|
||
Linux 2.6.32-573.18.1.el6.ppc64 n y/n n y y y
|
||
|
||
|
||
Platform Shared Shared Shared Thread-
|
||
C libs F90 libs C++ libs safe
|
||
Solaris2.11 32-bit y y y y
|
||
Solaris2.11 64-bit y y y y
|
||
Windows 7 y y y y
|
||
Windows 7 x64 y y y y
|
||
Windows 7 Cygwin n n n y
|
||
Windows 7 x64 Cygwin n n n y
|
||
Windows 10 y y y y
|
||
Windows 10 x64 y y y y
|
||
Mac OS X Mountain Lion 10.8.5 64-bit y n y y
|
||
Mac OS X Mavericks 10.9.5 64-bit y n y y
|
||
Mac OS X Yosemite 10.10.5 64-bit y n y y
|
||
Mac OS X El Capitan 10.11.6 64-bit y n y y
|
||
CentOS 6.7 Linux 2.6.18 x86_64 GNU y y y y
|
||
CentOS 6.7 Linux 2.6.18 x86_64 Intel y y y n
|
||
CentOS 6.7 Linux 2.6.32 x86_64 PGI y y y n
|
||
CentOS 7.2 Linux 2.6.32 x86_64 GNU y y y n
|
||
CentOS 7.2 Linux 2.6.32 x86_64 Intel y y y n
|
||
Linux 2.6.32-573.18.1.el6.ppc64 y y y n
|
||
|
||
Compiler versions for each platform are listed in the preceding
|
||
"Supported Platforms" table.
|
||
|
||
|
||
More Tested Platforms
|
||
=====================
|
||
The following platforms are not supported but have been tested for this release.
|
||
|
||
Linux 2.6.32-573.22.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++)
|
||
#1 SMP x86_64 GNU/Linux compilers:
|
||
(mayll/platypus) Version 4.4.7 20120313
|
||
Version 4.8.4
|
||
PGI C, Fortran, C++ for 64-bit target on
|
||
x86-64;
|
||
Version 16.10-0
|
||
Intel(R) C (icc), C++ (icpc), Fortran (icc)
|
||
compilers:
|
||
Version 15.0.3.187 (Build 20150407)
|
||
MPICH 3.1.4 compiled with GCC 4.9.3
|
||
|
||
Linux 3.10.0-327.18.2.el7 GNU C (gcc) and C++ (g++) compilers
|
||
#1 SMP x86_64 GNU/Linux Version 4.8.5 20150623 (Red Hat 4.8.5-4)
|
||
(jelly) with NAG Fortran Compiler Release 6.1(Tozai)
|
||
Intel(R) C (icc) and C++ (icpc) compilers
|
||
Version 15.0.3.187 (Build 20150407)
|
||
with NAG Fortran Compiler Release 6.1(Tozai)
|
||
|
||
Linux 2.6.32-573.18.1.el6.ppc64 MPICH mpich 3.1.4 compiled with
|
||
#1 SMP ppc64 GNU/Linux IBM XL C/C++ for Linux, V13.1
|
||
(ostrich) and IBM XL Fortran for Linux, V15.1
|
||
|
||
Debian 8.4 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1 x86_64 GNU/Linux
|
||
gcc, g++ (Debian 4.9.2-10) 4.9.2
|
||
GNU Fortran (Debian 4.9.2-10) 4.9.2
|
||
(cmake and autotools)
|
||
|
||
Fedora 24 4.7.2-201.fc24.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
|
||
gcc, g++ (GCC) 6.1.1 20160621
|
||
(Red Hat 6.1.1-3)
|
||
GNU Fortran (GCC) 6.1.1 20160621
|
||
(Red Hat 6.1.1-3)
|
||
(cmake and autotools)
|
||
|
||
Ubuntu 16.04.1 4.4.0-38-generic #57-Ubuntu SMP x86_64 GNU/Linux
|
||
gcc, g++ (Ubuntu 5.4.0-6ubuntu1~16.04.2)
|
||
5.4.0 20160609
|
||
GNU Fortran (Ubuntu 5.4.0-6ubuntu1~16.04.2)
|
||
5.4.0 20160609
|
||
(cmake and autotools)
|
||
|
||
|
||
Known Problems
|
||
==============
|
||
|
||
At present, metadata cache images may not be generated by parallel
|
||
applications. Parallel applications can read files with metadata cache
|
||
images, but since this is a collective operation, a deadlock is possible
|
||
if one or more processes do not participate.
|
||
|
||
Known problems in previous releases can be found in the HISTORY*.txt files
|
||
in the HDF5 source. Please report any new problems found to
|
||
help@hdfgroup.org.
|
||
|