1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
|
HDF5 version 1.4.4-pre2 currently under development
==============================================================================
INTRODUCTION
This document describes the differences between HDF5-1.4.3 and
HDF5-1.4.3_post0, and contains information on the platforms tested and
known problems in HDF5-1.4.3. 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.3
- Documentation
- Platforms Tested
- Supported Configuration Features
- Known Problems
New Features
============
o Configuration
================
o Library
=========
o General
---------
* 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
* Fill-value's forward-compatibility with 1.5 was added. SLU -
2002/04/11
* A new query function H5Tget_member_index has been added for compound
and enumeration data types, to retrieve 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
------
* F90 subroutines h5dwrite_f, h5dread_f, h5awrite_f and h5aread_f were
overloaded with "dims" argument to be assumed size array of type
INTEGER(HSIZE_T). We recommend to use the subroutines with the new type.
Module subroutines that accept "dims" as INTEGER array of size 7 will
be deprecated in 1.6 release. EIP - 2002/05/06
o Performance
-------------
o Parallel Library
==================
* Enable 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
* Allow chunks in chunked datasets to be cached when 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
* Allow the metadata writes to be shared among all processes, easing the
burden on process 0. QAK - 2002/05/10
o Tools
=======
o Support for new platforms and languages
=========================================
* Parallel Fortran Library works now on HP-UX B.11.00 Sys V
EIP - 2002/05/06
Bug Fixes since HDF5-1.4.3 Release
==================================
* 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 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 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 where many objects were created in the
file. QAK - 2002/05/31
was not being kept the same as the original file. QAK - 2002/05/14
* 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 doesn't behave as
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
Documentation
=============
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 y (1) 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 y 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 y 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 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,"
|