mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-11-27 02:10:55 +08:00
8c074d5c03
Description: Previously, there was no versioning for H5Z_class_t. This prevented applications written for 1.6 using custom filters from being able to use the 1.8 library. There is now an H5Z_class1_t and H5Z_class2_t to enable compatibility. H5Zregister is *not* versioned, it determines which version of the struct has been passed in by the value of the first field (id or version, both are ints). Tested: jam, linew, smirom (h5committest), jam (--with-default-api-version=v16)
737 lines
37 KiB
Plaintext
737 lines
37 KiB
Plaintext
HDF5 version 1.9.39 currently under development
|
|
================================================================================
|
|
|
|
|
|
INTRODUCTION
|
|
|
|
This document describes the differences between HDF5-1.9.0 and
|
|
HDF5 1.9.x snapshot, and contains information on the platforms
|
|
tested and known problems in HDF5-1.9.x.
|
|
For more details check the HISTORY*.txt files in the HDF5 source.
|
|
|
|
|
|
Links to HDF5 1.9.x source code can be found on The HDF Group's
|
|
development FTP server at the following location:
|
|
ftp://ftp.hdfgroup.uiuc.edu/pub/outgoing/hdf5/snapshots
|
|
User documentation for the snapshot can be accessed directly at this location:
|
|
http://www.hdfgroup.uiuc.edu/HDF5/doc_dev_snapshot/H5_dev/
|
|
|
|
For more information, see the HDF5 home page:
|
|
|
|
http://www.hdfgroup.org/HDF5/
|
|
|
|
If you have any questions or comments, please send them to the HDF Help Desk:
|
|
|
|
help@hdfgroup.org
|
|
|
|
|
|
CONTENTS
|
|
|
|
- New Features
|
|
- Support for new platforms and languages
|
|
- Bug Fixes since HDF5-1.8.0
|
|
- Platforms Tested
|
|
- Known Problems
|
|
|
|
|
|
New Features
|
|
============
|
|
|
|
Configuration:
|
|
-------------
|
|
- Added libtool version numbers to generated c++, fortran, and
|
|
hl libraries. MAM 2009/04/19.
|
|
- Regenerated Makefile.ins using Automake 1.10.2. MAM 2009/04/19.
|
|
- Added a Make target of check-all-install to test the correctness of
|
|
installing via the prefix= or $DESTDIR options. AKC - 2009/04/14
|
|
- Configuration suite now uses Libtool 2.2.6a. MAM 2008/10/24
|
|
|
|
- Configuration suite now uses Autoconf 2.61, Automake 1.10.1.
|
|
MAM 2008/05/05.
|
|
|
|
- The new configure option "--disable-sharedlib-rpath" disables
|
|
embedding the '-Wl,-rpath' information into executables when
|
|
shared libraries are produced, and instead solely relies on the
|
|
information in LD_LIBRARY_PATH. (MAM - 2008/05/15)
|
|
|
|
Library:
|
|
--------
|
|
- Separated "factory" free list class from block free lists. These free
|
|
lists are dynamically created and manage blocks of a fixed size.
|
|
H5set_free_list_limits() will use the same settings specified for block
|
|
free lists for factory free lists. (NAF - 2009/04/08)
|
|
- Added support for dense attributes to H5Ocopy. (XCao/NAF - 2009/01/29)
|
|
- Added H5Pset_elink_cb and H5Pget_elink_cb functions to support a
|
|
user-defined callback function for external link traversal.
|
|
(NAF - 2009/01/08)
|
|
- Added H5Pset_elink_acc_flags and H5Pget_elink_acc_flags functions to
|
|
allow the user to specify the file access flags used to open the target
|
|
file of an external link. (NAF - 2009/01/08)
|
|
- Added H5Pset_chunk_cache() and H5Pget_chunk_cache() functions to allow
|
|
individual rdcc configuration for each dataset. Added
|
|
H5Dget_access_plist() function to retrieve a dataset access property
|
|
list from a dataset. (NAF - 2008/11/12)
|
|
- Added H5Iis_valid() function to check if an id is valid without producing
|
|
an error message. (NAF - 2008/11/5)
|
|
- Added two new public routines: H5Pget_elink_fapl() and
|
|
H5Pset_elink_fapl(). (see bug #1247) (VC - 2008/10/13)
|
|
- Improved free space tracking in file to be faster. (QAK - 2008/10/06)
|
|
- Added 'mounted' field to H5G_info_t struct. (QAK - 2008/07/15)
|
|
|
|
Parallel Library:
|
|
-----------------
|
|
|
|
Fortran Library:
|
|
----------------
|
|
|
|
- Added for the C APIs the Fortran wrappers:
|
|
h5dget_access_plist_f
|
|
h5iis_valid_f
|
|
h5pset_chunk_cache_f
|
|
h5pget_chunk_cache_f
|
|
(MSB - 2009/04/17)
|
|
|
|
|
|
C++ Library:
|
|
------------
|
|
- These member functions were added as wrapper for H5Rdereference to
|
|
replace the incorrect IdComponent::dereference().
|
|
void H5Object::dereference(H5File& h5file, void* ref)
|
|
void H5Object::dereference(H5Object& obj, void* ref)
|
|
In addition, these constructors were added to create the associated
|
|
objects by way of dereference:
|
|
Attribute(H5Object& obj, void* ref);
|
|
Attribute(H5File& file, void* ref);
|
|
DataSet(H5Object& obj, void* ref);
|
|
DataSet(H5File& file, void* ref);
|
|
DataType(H5Object& obj, void* ref);
|
|
DataType(H5File& file, void* ref);
|
|
Group(H5Object& obj, void* ref);
|
|
Group(H5File& obj, void* ref);
|
|
(BMR - 2008/08/10)
|
|
|
|
|
|
|
|
Tools:
|
|
------
|
|
- h5diff new flag, -c, --compare, list objects that are not comparable.
|
|
PVN - 2009/4/10 - 1368
|
|
- h5diff new flag, -N, --nan, avoids NaNs detection. PVN - 2009/4/10
|
|
- h5dump correctly specifies XML dtd / schema urls (ADB - 2009/4/3 - 1519)
|
|
- h5repack now handles group creation order. (PVN - 2009/4/2 - 1402)
|
|
- h5dump: added a printing of the compression ratio of uncompressed and compressed
|
|
sizes for cases where compression filters are present. (PVN - 2008/05/01)
|
|
- h5dump: added an option to allow a user defined formatting string for printf
|
|
regarding floating point numbers. (PVN - 2008/05/06)
|
|
- h5dump: support for external links, display the object that the external link
|
|
points to. (PVN - 2008/05/12)
|
|
- h5repack: add a userblock to an HDF5 file during the repack. (PVN - 2008/08/26)
|
|
- h5repack: add 2 options that call H5Pset_alignment in the repacked file. (PVN - 2008/08/29)
|
|
- h5ls: added capability to traverse through external links when the -r
|
|
(recursive) flag is given. (NAF - 2008/09/16)
|
|
- h5ls: added -E option to enable traversal of external links. h5ls will
|
|
not traverse external links without this flag being set.
|
|
(NAF - 2008/10/06)
|
|
- h5diff: added support for long double (PVN - 2008/10/28)
|
|
- h5dump: binary output defaults to NATIVE with -b optionally accepting
|
|
the form of binary output (NATIVE, FILE, BE, LE). (PVN - 2008/10/30)
|
|
- h5diff: return 1 for file differences when both file graphs differ by any object.
|
|
Error return code was changed to 2 from -1. (PVN - 2008/10/30)
|
|
- h5import: TEXTFPE (scientific format) was deprecated. Use TEXTFP
|
|
instead (PVN - 2008/10/30)
|
|
- h5repack: When user doesn't specify a chunk size, h5repack now defines a default
|
|
chunk size as the same size of the size of the hyperslab used to read the chunks.
|
|
The size of the hyperslabs are defined as the size of each dimension or a
|
|
predefined constant, whatever is smaller. This assures that the chunk
|
|
read fits in the chunk cache. (PVN - 2008/11/21)
|
|
|
|
High-Level APIs:
|
|
------
|
|
- Table: In version 3.0 of Table, "NROWS" (used to store number of records) was
|
|
deprecated (PVN - 2008/11/24)
|
|
|
|
|
|
Documentation
|
|
-------------
|
|
|
|
Support for new platforms, languages and compilers.
|
|
=======================================
|
|
|
|
Bug Fixes since HDF5-1.8.0 release
|
|
==================================
|
|
|
|
Library
|
|
-------
|
|
- Added versioning to H5Z_class_t struct to allow compatibility with 1.6
|
|
API. (NAF - 2009/04/20 - 1533)
|
|
- Fixed a problem with using data transforms with non-native types in the
|
|
file. (NAF - 2009/04/20 - 1548)
|
|
- Added direct.h include file to windows section of H5private.h
|
|
to fix _getcwd() warning. (ADB - 2009/04/14 - 1536)
|
|
- Fixed a bug that prevented external links from working after calling
|
|
H5close(). (NAF - 2009/04/10 - 1539)
|
|
- Modified library to write cached symbol table information to the
|
|
superblock, to allow library versions 1.3.0 to 1.6.3 to read files
|
|
created by this version. (NAF - 2009/04/08 - 1423)
|
|
- Changed skip lists to use a deterministic algorithm. The library should
|
|
now never call rand() or srand(). (NAF - 2009/04/08 - 503)
|
|
- Fixed a bug where H5Lcopy and H5Lmove wouldn't create intermediate
|
|
groups when that property was set. (NAF - 2009/04/07 - 1526)
|
|
- Fixed a bug that caused files with a user block to grow by the size of
|
|
the user block every time they were opened.
|
|
(NAF - 2009/03/26 - 1499)
|
|
- Fixed a rare problem that could occur with files using the old (pre 1.4)
|
|
array datatype. (NAF - 2009/03/23)
|
|
- Modified library to be able to open files with corrupt root group symbol
|
|
table messages, and correct these errors if they are found. Such
|
|
files can only be successfully opened with write access.
|
|
(NAF - 2009/03/23 - 1189)
|
|
- Removed the long_long #define and replaced all instances with
|
|
"long long". This caused problems with third party products. All
|
|
currently supported compliers support the type. (ADB - 2009/03/05)
|
|
- Fixed various bugs that could prevent the fill value from being written
|
|
in certain rare cases. (NAF - 2009/02/26 - 1469)
|
|
- Fixed a bug that prevented more than one dataset chunk from being cached
|
|
at a time. (NAF - 2009/02/12 - 1015)
|
|
- Fixed an assertion failure caused by opening an attribute multiple times
|
|
through multiple file handles. (NAF - 2009/02/12 - 1420)
|
|
- Fixed a problem that could prevent the user from adding attributes (or
|
|
any object header message) in some circumstances.
|
|
(NAF - 2009/02/12 - 1427)
|
|
- Fixed a bug that could cause problems when an attribute was added to a
|
|
committed datatype using the committed datatype's datatype.
|
|
(NAF - 2009/02/12)
|
|
- Fixed a bug that could cause problems when copying an object with a
|
|
shared message in its own object header. (NAF - 2009/01/29)
|
|
- Changed H5Tset_order to properly reject H5T_ORDER_NONE for most
|
|
datatypes. (NAF - 2009/01/27 - 1443)
|
|
- Fixed a bug where H5Tpack wouldn't remove trailing space from an
|
|
otherwise packed compound type. (NAF - 2009/01/14)
|
|
- Fixed up some old v2 btree assertions that get run in debug mode that
|
|
were previously failing on compilation, and removed some of the
|
|
more heavily outdated and non-rewritable ones. (MAM - 2008/12/15)
|
|
- Fixed a bug that could cause problems when "automatically" unmounting
|
|
multiple files. (NAF - 2008/11/17)
|
|
- H5Ovisit and H5Ovisit_by_name will now properly terminate when the
|
|
callback function returns a positive value on the starting object.
|
|
(NAF - 2008/11/03)
|
|
- Fixed an error where a null message could be created that was larger
|
|
than could be written to the file. (NAF - 2008/10/23)
|
|
- Corrected error with family/split/multi VFD not updating driver info
|
|
when "latest" version of the file format used. (QAK - 2008/10/14)
|
|
- Corrected alignment+threshold errors to work correctly when metadata
|
|
aggregation is enabled. (QAK - 2008/10/06)
|
|
- Changed H5Fget_obj_count and H5Fget_obj_ids to ignore objects registered
|
|
by the library for internal library use. (NAF - 2008/10/06)
|
|
- Fixed potential memory leak during compound conversion.
|
|
(NAF - 2008/10/06)
|
|
- Changed the return value of H5Fget_obj_count from INT to SSIZE_T. Also
|
|
changed the return value of H5Fget_obj_ids from HERR_T to SSIZE_T and
|
|
the type of the parameter MAX_OBJS from INT to SIZE_T. (SLU - 2008/09/26)
|
|
- Fixed an issue that could cause data to be improperly overwritten
|
|
during compound type conversion. (NAF - 2008/09/19)
|
|
- Fixed pointer alignment violations that could occur during vlen
|
|
conversion. (NAF - 2008/09/16)
|
|
- Fixed problem where library could cause a segmentation fault when
|
|
an invalid location ID was given to H5Giterate(). (QAK - 2008/08/19)
|
|
- Fixed improper shutdown when objects have reference count > 1. The
|
|
library now tracks reference count due to the application separately
|
|
from that due to internal library routines. (NAF - 2008/08/19)
|
|
- Fixed assertion failure caused by incorrect array datatype version.
|
|
(NAF - 2008/08/08)
|
|
- Fixed an issue where mount point traversal would fail when using
|
|
multiple handles for the child. (NAF - 2008/08/07)
|
|
- Fixed an issue where mount points were inaccessible when using multiple
|
|
file handles for the parent. The mount table is now in the shared
|
|
file structure (the parent pointer is still in the top structure).
|
|
(NAF - 2008/08/07)
|
|
- when an attribute was opened twice and data was written with one of the handles,
|
|
the file didn't have the data. It happened because each handle had its own
|
|
object structure, and the empty one overwrote the data with fill value. This is
|
|
fixed by making some attribute information like the data be shared in the
|
|
attribute structure. SLU - 2008/07/22
|
|
- Fixed issue where a group could have a file mounted on it twice.
|
|
(QAK - 2008/07/15)
|
|
- Fixed a Windows-specific issue in the ohdr test which was causing users
|
|
in some timezones to get false errors. This a deficiency in the Windows
|
|
mktime() function, and has been handled properly. SJW - 2008/06/19
|
|
- Fixed the problem with the searching of target file for H5Lcreate_external().
|
|
The searching pattern will depend on whether the target file's
|
|
pathname is an absolute or a relative path. Please see the description
|
|
in the RM for H5Lcreate_external(). (VC - 2008/04/08)
|
|
- Fixed possible file corruption bug when encoding datatype
|
|
descriptions for compound datatypes whose size was between
|
|
256 & 511 bytes and the file was opened with the "use the
|
|
latest format" property enabled (with H5Pset_libver_bounds).
|
|
(QAK - 2008/03/13)
|
|
- Fixed bug in H5Aget_num_attrs() routine to handle invalid location
|
|
ID correctly. (QAK - 2008/03/11)
|
|
- H5Dset_extent: when shrinking dimensions, some chunks were not deleted.
|
|
(PVN - 2009/01/8)
|
|
- Added code to maintain a min_clean_fraction in the metadata cache when
|
|
in serial mode. (MAM - 2009/01/9)
|
|
|
|
|
|
|
|
Configuration
|
|
-------------
|
|
- The --includedir=DIR configuration option now works as intended, and can
|
|
be used to specify the location to install C header files. The default
|
|
location remains unchanged, residing at ${prefix}/include.
|
|
MAM - 2009/03/10 - BZ #1381
|
|
- Configure no longer removes the '-g' flag from CFLAGS when in production
|
|
mode if it has been explicitly set in the CFLAGS environment variable
|
|
prior to configuration. MAM - 2009/03/09 - BZ #1401.
|
|
- Fixed error with 'make check install' failing due to h5dump
|
|
needing other tools built first. MAM - 2008/10/24.
|
|
- When using shared szip, it is no longer necessary to specify
|
|
the path to the shared szip libraries in LD_LIBRARY_PATH. MAM -
|
|
2008/10/24.
|
|
- The file libhdf5_fortran.settings is not installed since its content
|
|
is included in libhdf5.settings now. AKC - 2008/10/21
|
|
- "make DESTDIR=xxx install" failed to install some tools and files
|
|
(e.g., h5cc and fortran modules). Fixed. AKC - 2008/10/8.
|
|
|
|
Performance
|
|
-------------
|
|
|
|
Tools
|
|
-----
|
|
- Fixed many problems that could occur when using h5repack with named
|
|
datatypes. (NAF - 2009/4/20 - 1516/1466)
|
|
- h5dump, h5diff, h5repack were not reading (by hyperslabs) datasets
|
|
that have a datatype datum size greater than H5TOOLS_BUFSIZE, a
|
|
constant defined as 1024Kb, such as array types with large
|
|
dimensions (PVN - 2009/4/1 - 1501)
|
|
- h5import: By selecting a compression type, a big endian byte order was being
|
|
selected (PVN - 2009/3/11 - 1462)
|
|
- zip_perf.c had missing argument on one of the open() calls. Fixed.
|
|
(AKC - 2008/12/9)
|
|
- h5dump now checks for uniqueness of committed datatypes.
|
|
(NAF - 2008/10/15)
|
|
- Fixed unnecessary indentation of committed datatypes in h5dump.
|
|
(NAF - 2008/10/15)
|
|
- Fixed bugs in h5stat:segmemtation fault when printing groups and
|
|
print warning message when traversal of objects is unsuccessful.
|
|
(see bug #1253) (VC- 2008/10/13)
|
|
- Fixed bug in h5ls that prevented relative group listings (like
|
|
"h5ls foo.h5/bar") from working correctly (QAK - 2008/06/03)
|
|
- Fixed bug in h5diff that prevented datasets & attributes with
|
|
variable-length string elements from comparing correctly.
|
|
(QAK - 2008/02/28)
|
|
- h5import bug on Windows w/binary datasets. fread in windows needs a
|
|
binary file to be open with 'rb' instead of 'r' otherwise it
|
|
terminates execution if an end of file character is found on the
|
|
input file. Besides that the binary file generated needs to be open
|
|
with 'wb' , otherwise an end of line character is read twice.
|
|
(PVN - 2008/02/19)
|
|
- Fixed bug in h5dump that caused binary output to be made only for the first
|
|
dataset, when several datasets were requested. (PVN - 2008/04/07)
|
|
- h5dump: when doing binary output (-b), the stdout printing of attributes
|
|
was done incorrectly. Removed printing of attributes when doing binary
|
|
output. PVN - 2008/06/05
|
|
|
|
High-Level APIs:
|
|
------
|
|
- Dimension scales: The scale index return value in H5DSiterate_scales was not always
|
|
incremented. (PVN - 2009/4/8 - 1538)
|
|
|
|
Fortran High-Level APIs:
|
|
------
|
|
- Lite: The h5ltget_dataset_info_f function (gets information about a dataset)
|
|
was not correctly returning the dimension array (PVN - 2009/3/23)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Documentation
|
|
-------------
|
|
|
|
|
|
F90 APIs
|
|
--------
|
|
|
|
|
|
C++ APIs
|
|
--------
|
|
- Fixed bug that caused segfaults in Attribute::read. (BMR - 2008/04/20)
|
|
- Fixed bug in PropList::getClassName to use portable HDfree instead
|
|
of free. (BMR - 2008/04/20)
|
|
- Fixed a design bug which allowed an Attribute object to create/modify
|
|
attributes (bugzilla #1068). The API class hierarchy was revised
|
|
to address the problem. Classes AbstractDS and Attribute are moved
|
|
out of H5Object. Class Attribute now multiply inherits from
|
|
IdComponent and AbstractDs and class DataSet from H5Object and
|
|
AbstractDs. In addition, the data member IdComponent::id was
|
|
moved into subclasses: Attribute, DataSet, DataSpace, DataType,
|
|
H5File, Group, and PropList. (BMR - 2008/08/10)
|
|
- IdComponent::dereference was incorrect and replaced as described
|
|
in "New Features" section.
|
|
(BMR - 2008/08/10)
|
|
|
|
|
|
|
|
Platforms Tested
|
|
================
|
|
|
|
AIX 5.2 (32/64 bit) xlc 8.0.0.11
|
|
xlC 8.0
|
|
xlf 10.01.0000.0
|
|
mpcc_r 6.0.0.8
|
|
mpxlf_r 8.1.1.7
|
|
FreeBSD 6.2-STABLE i386 gcc 3.4.6 [FreeBSD] 20060305
|
|
(duty) g++ 3.4.6 [FreeBSD] 20060305
|
|
gcc 4.2.1 20080123
|
|
g++ 4.2.1 20080123
|
|
gfortran 4.2.1 20070620
|
|
FreeBSD 6.2-STABLE amd64 gcc 3.4.6 [FreeBSD] 20060305
|
|
(liberty) g++ 3.4.6 [FreeBSD] 20060305
|
|
gcc 4.2.1 20080123
|
|
g++ 4.2.1 20080123
|
|
gfortran 4.2.1 20080123
|
|
|
|
IRIX64 6.5 (64 & n32) MIPSpro cc 7.4.4m
|
|
F90 MIPSpro 7.4.4m
|
|
C++ MIPSpro cc 7.4.4m
|
|
|
|
Linux 2.6.9 (RHEL4) Intel 10.0 compilers
|
|
(abe.ncsa.uiuc.edu)
|
|
Linux 2.4.21-47 gcc 3.2.3 20030502
|
|
(osage)
|
|
Linux 2.6.9-42.0.10 gcc 3.4.6 20060404
|
|
(kagiso) PGI 7.0-7 (pgcc, pgf90, pgCC)
|
|
Intel 9.1 (icc, ifort, icpc)
|
|
Linux 2.6.16.27 x86_64 AMD gcc 4.1.0 (SuSE Linux), g++ 4.1.0, g95 (GCC 4.0.3)
|
|
(smirom) PGI 6.2-5 (pgcc, pgf90, pgCC)
|
|
Intel 9.1 (icc, iort, icpc)
|
|
Linux 2.6.5-7.252.1-rtgfx #1
|
|
SMP ia64 Intel(R) C++ Version 9.0
|
|
(cobalt) Intel(R) Fortran Itanium(R) Version 9.0
|
|
SGI MPI
|
|
SunOS 5.8 32,46 Sun WorkShop 6 update 2 C 5.3
|
|
(Solaris 2.8) Sun WorkShop 6 update 2 Fortran 95 6.2
|
|
Sun WorkShop 6 update 2 C++ 5.3
|
|
SunOS 5.10 cc: Sun C 5.8
|
|
(linew) f90: Sun Fortran 95 8.2
|
|
CC: Sun C++ 5.8
|
|
Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre
|
|
(tungsten) gcc 3.2.2 20030222
|
|
Intel(R) C++ Version 9.0
|
|
Intel(R) Fortran Compiler Version 9.0
|
|
IA-64 Linux 2.4.21.SuSE_292.til1 ia64
|
|
(NCSA tg-login) gcc 3.2.2
|
|
Intel(R) C++ Version 8.1
|
|
Intel(R) Fortran Compiler Version 8.1
|
|
mpich-gm-1.2.5..10-intel-r2
|
|
Windows XP
|
|
Visual Studio .NET
|
|
Visual Studio 2005 w/ Intel Fortran 9.1
|
|
Cygwin(native gcc compiler and g95)
|
|
MinGW(native gcc compiler and g95)
|
|
Windows XP x64
|
|
Visual Studio 2005 w/ Intel Fortran 9.1
|
|
Windows Vista
|
|
Visual Studio 2005
|
|
|
|
MAC OS 10.4 (Intel) gcc i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1
|
|
G95 (GCC 4.0.3 (g95 0.91!) Nov 21 2006)
|
|
Alpha Open VMS 7.3
|
|
|
|
|
|
Supported Configuration Features Summary
|
|
========================================
|
|
|
|
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
|
|
<blank> = testing incomplete on this feature or platform
|
|
W or C indicates workstation or cluster, respectively.
|
|
|
|
Platform C F90 F90 C++ zlib SZIP
|
|
parallel parallel
|
|
SunOS5.8 64-bit n y n y y y
|
|
SunOS5.8 32-bit n y n y y y
|
|
SunOS5.10 64-bit n y n y y y
|
|
SunOS5.10 32-bit n y n y y y
|
|
IRIX64_6.5 64-bit n y y y y y
|
|
IRIX64_6.5 32-bit n n n n y y
|
|
AIX-5.2 32-bit y y y y y y
|
|
AIX-5.2 64-bit y y y y y y
|
|
Cray XT3 (not tested
|
|
for this release) n n n n n n
|
|
Windows XP n y(3) n(3) y y y
|
|
Windows XP x64 n y(3) n(3) y y y
|
|
Windows Vista n n n y y y
|
|
Mac OS X 10.4 PowerPC n n
|
|
Mac OS X 10.4 Intel n y n y y y
|
|
FreeBSD 6.2 32-bit n n n y y y
|
|
FreeBSD 6.2 64-bit
|
|
RedHat EL4 2.6.9 i686 GNU W y(2) y(4) y(2) y y y
|
|
RedHat EL4 2.6.9 i686 Intel W n y n y y n
|
|
RedHat EL4 2.6.9 i686 PGI W n y n y y n
|
|
SuSe Linux 2.6.16 x86_64 GNU (5) W y(2) y n y y y
|
|
SuSe Linux 2.6.16 x86_64 Int (5) W n y n y n n
|
|
SuSe Linux 2.6.16 x86_64 PGI (5) W n y n y n n
|
|
RHL9 Linux 2.4 Xeon Lustre Intel C n y n y y n
|
|
RHEL3 Linux 2.4 Xeon Intel W n y n n y n
|
|
RHEL4 Linux 2.6 Xeon Lustre Int C n y n y y n
|
|
SuSE Linux 2.4 ia64 Intel C y(1) y y y y y
|
|
SuSe Linux 2.6.5
|
|
SGI Altix ia64 Intel C n y n y n y
|
|
Alpha OpenVMS 7.3.2 n y n y n n
|
|
|
|
|
|
|
|
Platform Shared Shared Shared static- Thread-
|
|
C libs F90 libs C++ libs exec safe
|
|
SunOS 5.8 32-bit y y y x y
|
|
SunOS 5.8 64-bit y y y x y
|
|
SunOS 5.10 32-bit y y y x y
|
|
SunOS 5.10 64-bit y y y x y
|
|
IRIX64_6.5 32-bit y n y x y
|
|
IRIX64_6.5 64-bit y y n x y
|
|
AIX-5.2 32-bit n n n x n
|
|
AIX-5.2 64-bit n n n x n
|
|
Cray XT3 (not tested
|
|
for this release) n n n x n
|
|
Windows XP y y(3) y y y
|
|
Windows XP x64 y y(3) y y y
|
|
Windows Vista y n n y y
|
|
Mac OS X 10.4 Intel Duo y y y x n
|
|
FreeBSD 6.2 32-bit y y y x n
|
|
FreeBSD 6.2 64-bit y y y x n
|
|
RHEL4 2.6.9 i686 GNU W y y(4) y x y
|
|
RHEL4 2.6.9 i686 Intel W y y y x n
|
|
RHEL4 2.6.9 i686 PGI W y y y x n
|
|
SuSE Linux 2.6.16 x86_64 GNU (5) W y y y x y
|
|
SuSE Linux 2.6.16 x86_64 Intel(5) W y y y x n
|
|
SuSE Linux 2.6.16 x86_64 PGI(5) W y y y x n
|
|
RHL9 Linux 2.4 Xeon Lustre Intel C y y y x n
|
|
RHEL3 Linux 2.4 Xeon Intel W y n n x n
|
|
RHEL4 Linux 2.6 Xeon Lustre Intel C y y y x n
|
|
SuSE Linux 2.4 ia64 Intel C y y y x n
|
|
SuSe Linux 2.6.5
|
|
SGI Altix ia64 Intel C n n n x n
|
|
|
|
Notes: (1) Using mpich 1.2.6.
|
|
(2) Using mpich2 1.0.6.
|
|
(3) Using Visual Studio 2005 or Cygwin
|
|
(4) With PGI and Absoft compilers.
|
|
(5) AMD Opteron x86_64
|
|
Compiler versions for each platform are listed in the preceding
|
|
"Platforms Tested" table.
|
|
|
|
|
|
|
|
Known Problems
|
|
==============
|
|
* We discovered two problems when running collective IO parallel HDF5 tests
|
|
with chunking storage on ChaMPIon MPI compiler on tungsten, a linux
|
|
cluster at NCSA.
|
|
Under some complex selection cases,
|
|
1) MPI_Get_element returns the wrong value.
|
|
2) MPI_Type_struct also generates wrong derived data type and corrupt data
|
|
may be generated.
|
|
This only happens when turning on collective IO with chunking storage
|
|
with some complex selections. We haven't found these problems on other
|
|
MPI-IO compilers. If you encounter these problems, you may use Independent IO
|
|
instead.
|
|
|
|
Change the following line in your code:
|
|
H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_COLLECTIVE);
|
|
|
|
to
|
|
H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_INDEPENDENT);
|
|
|
|
KY - 2007/08/24
|
|
|
|
* For SNL, spirit/liberty/thunderbird: The serial tests pass but parallel
|
|
tests failed with MPI-IO file locking message. AKC - 2007/6/25.
|
|
* On Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers use
|
|
-mp -O1 compilation flags to build the libraries. Higher level of optimization
|
|
causes failures in several HDF5 library tests.
|
|
* For HPUX 11.23 many tools tests failed for 64-bit version when linked to the
|
|
shared libraries (tested for 1.8.0-beta2)
|
|
* For SNL, Red Storm: only paralle HDF5 is supported. The serial tests pass
|
|
and the parallel tests also pass with lots of non-fatal error messages.
|
|
* For LLNL, uP: both serial and parallel pass. Zeus: serial passes but
|
|
parallel fails with a known proglem in MPI. ubgl: serial passes but
|
|
parallel fails.
|
|
* on SUN 5.10 C++ test fails in the "Testing Shared Datatypes with Attributes" test
|
|
* configuring with --enable-debug=all produces compiler errors on most
|
|
platforms. Users who want to run HDF5 in debug mode should use
|
|
--enable-debug rather than --enable-debug=all to enable debugging
|
|
information on most modules.
|
|
* On Mac OS 10.4, test/dt_arith.c has some errors in conversion from long
|
|
double to (unsigned) long long and from (unsigned)long long to long double.
|
|
* On Altix SGI with Intel 9.0 testmeta.c would not compile with -O3
|
|
optimization flag.
|
|
* On VAX, Scaleoffset filter isn't supported. The filter cannot be applied to
|
|
HDF5 data generated on VAX. Scaleoffset filter only supports IEEE standard
|
|
for floating-point data.
|
|
* On Cray X1, a lone colon on the command line of h5dump --xml (as in
|
|
the testh5dumpxml.sh script) is misinterpereted by the operating system
|
|
and causes an error.
|
|
* On mpich 1.2.5 and 1.2.6, we found that if more than two processes
|
|
contribute no IO and the application asks to do IO with collective, we found
|
|
that when using 4 processors, a simple collective write will be hung
|
|
sometimes. This can be verified with t_mpi test under testpar.
|
|
* On IRIX6.5, when C compiler version >7.4, the complicate MPI derived data type
|
|
code will work. However, the user should be aware to enlarge MPI_TYPE_MAX environment
|
|
variable to some certian value in order to use collective irregular selection code.
|
|
For example, the current parallel HDF5 test needs to enlarge MPI_TYPE_MAX to
|
|
200,000 to make the test pass.
|
|
* The dataset created or rewritten with the v1.6.3 library or after can't
|
|
be read with the v1.6.2 library or before when Fletcher32 EDC(filter) is
|
|
enabled. There was a bug in the calculating code of the Fletcher32
|
|
checksum in the library before v1.6.3. The checksum value wasn't consistent
|
|
between big-endian and little-endian systems. This bug was fixed in
|
|
Release 1.6.3. However, after fixing the bug, the checksum value is no
|
|
longer the same as before on little-endian system. The library release
|
|
after 1.6.4 can still read the dataset created or rewritten with the library
|
|
of v1.6.2 or before. SLU - 2005/6/30
|
|
* For the version 6(6.02 and 6.04) of Portland Group compiler on AMD Opteron
|
|
processor, there's a bug in the compiler for optimization(-O2). The library
|
|
failed in several tests but all related to multi driver. The problem has
|
|
been reported to the vendor.
|
|
* On IBM AIX systems, parallel HDF5 mode will fail some tests with error
|
|
messages like "INFO: 0031-XXX ...". This is from the command poe.
|
|
Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
|
|
and run the tests again.
|
|
The tests may fail with messages like "The socket name is already
|
|
in use". HDF5 does not use sockets (except for stream-VFD). This is
|
|
due to problems of the poe command trying to set up the debug socket.
|
|
Check if there are many old /tmp/s.pedb.* staying around. These are
|
|
sockets used by the poe command and left behind due to failed commands.
|
|
Ask your system administrator to clean them out. Lastly, request IBM
|
|
to provide a mean to run poe without the debug socket.
|
|
|
|
* The C++ library's tests fails when compiling with PGI C++ compiler. The
|
|
workaround until the problem is correctly handled is to use the
|
|
flag "--instantiate=local" prior to the configure and build steps, as:
|
|
setenv CXX "pgCC --instantiate=local" for pgCC 5.02 and higher
|
|
|
|
|
|
* The stream-vfd test uses ip port 10007 for testing. If another
|
|
application is already using that port address, the test will hang
|
|
indefinitely and has to be terminated by the kill command. To try the
|
|
test again, change the port address in test/stream_test.c to one not
|
|
being used in the host.
|
|
|
|
* The --enable-static-exec configure flag fails to compile for Solaris
|
|
platforms. This is due to the fact that not all of the system
|
|
libraries on Solaris are available in a static format.
|
|
|
|
The --enable-static-exec configure flag also fails to correctly compile
|
|
on IBM SP2 platform for the serial mode. The parallel mode works fine
|
|
with this option.
|
|
|
|
It is suggested that you don't use this option on these platforms
|
|
during configuration.
|
|
|
|
* With the gcc 2.95.2 compiler, HDF 5 uses the `-ansi' flag during
|
|
compilation. The ANSI version of the compiler complains about not being
|
|
able to handle the `long long' datatype with the warning:
|
|
|
|
warning: ANSI C does not support `long long'
|
|
|
|
This warning is innocuous and can be safely ignored.
|
|
|
|
|
|
* The Stream VFD was not tested yet under Windows. It is not supported
|
|
in the TFLOPS machine.
|
|
|
|
|
|
* The ./dsets tests failed in the TFLOPS machine if the test program,
|
|
dsets.c, is compiled with the -O option. The hdf5 library still works
|
|
correctly with the -O option. The test program works fine if it is
|
|
compiled with -O1 or -O0. Only -O (same as -O2) causes the test
|
|
program to fail.
|
|
|
|
* Certain platforms give false negatives when testing h5ls:
|
|
- Cray J90 and Cray T90IEEE give errors during testing when displaying
|
|
some floating-point values. These are benign differences due to
|
|
the different precision in the values displayed and h5ls appears to
|
|
be dumping floating-point numbers correctly.
|
|
|
|
* Not all platforms behave correctly with szip's shared libraries. Szip is
|
|
disabled in these cases, and a message is relayed at configure time. Static
|
|
libraries should be working on all systems that support szip, and should be
|
|
used when shared libraries are unavailable. There is also a configure error
|
|
on Altix machines that incorrectly reports when a version of szip without
|
|
an encoder is being used.
|
|
|
|
* On some platforms that use Intel and Absoft compilers to build HDF5 fortran library,
|
|
compilation may fail for fortranlib_test.f90, fflush1.f90 and fflush2.f90
|
|
complaining about exit subroutine. Comment out the line
|
|
IF (total_error .ne. 0) CALL exit (total_error)
|
|
|
|
* Information about building with PGI and Intel compilers is available in
|
|
INSTALL file sections 5.7 and 5.8
|
|
|
|
* On at least one system, (SDSC DataStar), the scheduler (in this case
|
|
LoadLeveler) sends job status updates to standard error when you run
|
|
any executable that was compiled with the parallel compilers.
|
|
|
|
This causes problems when running "make check" on parallel builds, as
|
|
many of the tool tests function by saving the output from test runs,
|
|
and comparing it to an exemplar.
|
|
|
|
The best solution is to reconfigure the target system so it no longer
|
|
inserts the extra text. However, this may not be practical.
|
|
|
|
In such cases, one solution is to "setenv HDF5_Make_Ignore yes" prior to
|
|
the configure and build. This will cause "make check" to continue after
|
|
detecting errors in the tool tests. However, in the case of SDSC DataStar,
|
|
it also leaves you with some 150 "failed" tests to examine by hand.
|
|
|
|
A second solution is to write a script to run serial tests and filter
|
|
out the text added by the scheduler. A sample script used on SDSC
|
|
DataStar is given below, but you will probably have to customize it
|
|
for your installation.
|
|
|
|
Observe that the basic idea is to insert the script as the first item
|
|
on the command line which executes the the test. The script then
|
|
executes the test and filters out the offending text before passing
|
|
it on.
|
|
|
|
#!/bin/csh
|
|
|
|
set STDOUT_FILE=~/bin/serial_filter.stdout
|
|
set STDERR_FILE=~/bin/serial_filter.stderr
|
|
|
|
rm -f $STDOUT_FILE $STDERR_FILE
|
|
|
|
($* > $STDOUT_FILE) >& $STDERR_FILE
|
|
|
|
set RETURN_VALUE=$status
|
|
|
|
cat $STDOUT_FILE
|
|
|
|
tail +3 $STDERR_FILE
|
|
|
|
exit $RETURN_VALUE
|
|
|
|
You get the HDF make files and test scipts to execute your filter script
|
|
by setting the environment variable "RUNSERIAL" to the full path of the
|
|
script prior to running configure for parallel builds. Remember to
|
|
"unsetenv RUNSERIAL" before running configure for a serial build.
|
|
|
|
Note that the RUNSERIAL environment variable exists so that we can
|
|
can prefix serial runs as necessary on the target system. On DataStar,
|
|
no prefix is necessary. However on an MPICH system, the prefix might
|
|
have to be set to something like "/usr/local/mpi/bin/mpirun -np 1" to
|
|
get the serial tests to run at all.
|
|
|
|
In such cases, you will have to include the regular prefix in your
|
|
filter script.
|
|
|
|
* H5Ocopy() does not copy reg_ref attributes correctly when shared-message
|
|
is turn on. The value of the reference in the destination attriubte is
|
|
wrong. This H5Ocopy problem will affect h5copy tool
|
|
|