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
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
|
HDF5 version 1.4.4-pre6 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
- Performance Improvements
- Documentation
- Platforms Tested
- Supported Configuration Features
- Known Problems
New Features
============
o Configuration
================
* The H4 to H5 tools were removed from the main source and placed in a
separate package. You can get these tools from the HDF ftp site
(ftp://hdf.ncsa.uiuc.edu/). The "--with-hdf4" command-line option during
configure is no longer valid. BW - 2002/06/25
o Library
=========
o General
---------
* 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
-------------
* 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
o Parallel Library
==================
* Fixed bug in parallel I/O routines where a collective I/O which used
MPI derived types, followed by an independent I/O would cause the library
to hang. QAK 2002/06/24
* Added environment variable flag to control whether creating MPI derived
typed is preferred or not. This can affect performance, depending on
which way the MPI-I/O library is optimized for. The default is set to
prefer MPI derived types for collective raw data transfers, setting the
HDF5_MPI_PREFER_DERIVED_TYPES environment variable to "0" (i.e.:
"setenv HDF5_MPI_PREFER_DERIVED_TYPES 0") changes the preference to avoid
using then whenever possible. QAK - 2002/06/19
* Changed MPI I/O routines to avoid creating MPI derived types (and thus
needing to set the file view) for contiguous selections within datasets,
which should result in some performance improvement for those types of
selections. QAK - 2002/06/18
* 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 parallel 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
* Intel C++ and F90 compilers Version 6.0 are supported on Linux 2.4
* Intel C++ compilers Version 6.0 are supported on windows 2000
o Misc.
=========================================
* zlib is moved out of windows source release. Users should go to
HDF homepage(URL: http://???) to download the corresponding zlib library.
* Windows binary release is built with the old version of zlib library.
We expect users to use zlib 1.1.4 to build with source release.
* In windows-specified install document, we specify how to test backward
compatibility. However, in this release, we are not testing the backward
compatibility of HDF5.
Bug Fixes since HDF5-1.4.3 Release
==================================
* Fixed bug in chunking routines where they were using internal allocation
free routines, instead of malloc/free, preventing user filters from
working correctly. Chunks are now allocated/freed with malloc/free and
so should the chunks in user filters. QAK 2002/06/18
* 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 when 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
Performance Improvements
========================
This release of the HDF5 library has been extensively tuned to improve
performance, especially to improve parallel I/O performance.
Most of the specific information for particular performance improvements
is mentioned in the "New Features" and "Bug Fixes Since HDF5-1.4.3" sections
of this document, but in general, the library should make fewer and larger
I/O requests when accessing a file. Additionally, improvements to the parallel
I/O portions of the library should have reduced the communications and barriers
used in various internal algorithms, improving the performance of the library.
However, with the extensive changes to some portions of the library that
were required for these improvements, some errors or unanticipated results may
have been introduced also. Please report any problems encountered to our
support team at hdfhelp@ncsa.uiuc.edu.
Hopefully these improvements will benefit all HDF5 applications, but if
there are particular I/O patterns that appear to be slower than necessary,
please send e-mail to hdfhelp@ncsa.uiuc.edu with a sample program showing the
problem behavior and we will look into the issue to see if it is possible to
address it.
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)
AIX 5.1 xlc 5.0.2.0
xlf 07.01.0000.0002
mpcc_r 5.0.2.0; mpxlf_r 07.01.0000.0002
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.1.1 Cray Standard C Version 6.5.0.3
Cray Fortran Version 3.5.0.4
FreeBSD 4.6 gcc 2.95.4
g++ 2.95.4
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.3m
F90 MIPSpro 7.3.1.3m (64 only)
Linux 2.4.9-31smp gcc 2.95.3
g++ 2.95.3
Intel(R) C++ Version 6.0
Intel(R) Fortran Compiler Version 6.0
MPICH 1.2.2
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.4-014
Compaq Fortran V5.5-1877-48BBF
gcc version 3.0 for C++
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.2.2 i386 pgcc Rel 3.1-4i with mpich-1.2.3 with
local modifications
IA-32 Linux 2.4.9 cc Intel 5.0.1
gcc 2.96
Intel(R) C++ Version 6.0
Intel(R) Fortran Compiler Version 6.0
IA-64 Linux 2.4.16 ia64 gcc version 2.96 20000731
Intel(R) C++ Version 6.0
Intel(R) Fortran Compiler Version 6.0
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
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 y n n n y y
IA-32 y n y 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 n 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
IA-32 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
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 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,"
* To build Fortran Library using Intel compilers one has to
x modify source code in the fortran/src directory to remove !DEC and !MS
compiler's directives
x build fails in fortran/test and then in frotran/examples directory;
to proceed edit work.pcl files in those directories to contain
two lines
work.pc
../src/work.pc
* To build Fortran Library on IA64 use
setenv CC "ecc -DIA64"
setenv F9X "efc -cl,work.pcl"
before running configure and see steps described above.
|