summaryrefslogtreecommitdiffstats
path: root/release_docs/RELEASE.txt
blob: 9b78fc66c28337d0feccb66b09148e0d4ebd9dd4 (plain)
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
HDF5 version 1.4.3-snap12 currently under development
==============================================================================


INTRODUCTION

This document describes the differences between HDF5-1.4.2 and
HDF5-1.4.3, and contains information on the platforms tested and
known problems in HDF5-1.4.2. 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.2
- Documentation
- Platforms Tested
- Supported Configuration Features
- Known Problems


New Features
============
  o Configuration
  ================
    * Can use just enable-threadsafe if the C compiler has built-in pthreads
      support.

  o Library
  =========
   o General
   --------- 
    * Added a new test to verify the information provided by the configure
      command.
    * Changed internal error handling macros to reduce code size of library by
      about 10%.

   o APIs
   ------
    * Changed prototype for H5Awrite from:
        H5Awrite(hid_t attr_id, hid_t type_id, void *buf)
      to:
        H5Awrite(hid_t attr_id, hid_t type_id, const void *buf)
    * The H5Pset_fapl_split() accepts raw and meta file names similar to the
      syntax of H5Pset_fapl_multi() in addition to what it used to accept.

    C++ API:
    * Added operator= to class PredType
    * Add the overloaded member function Attribute::getName to return
      the attribute name's length as in C API.  Note that the current
      Attribute::getName, that returns "string", is still available.
    * Following the change in the C library, the corresponding C++ API
      is changed from:
        void Attribute::write( const DataType& mem_type, void *buf )
      to:
        void Attribute::write( const DataType& mem_type, const void *buf )

   o Performance
   -------------
    * Added perform programs to test the HDF5 library performance.  Programs
      are installed in directory perform/.
    * Improved performance of byte-swapping during data conversions.
    * Improved performance of single, contiguous hyperslabs when reading or
      writing.
    * Added support to read/write portions of chunks directly, if they are
      uncompressed and too large to cache.  This should speed up I/O on chunked
      datasets for a few more cases.  -QAK, 1/31/02

  o Parallel Library
  ==================
    * Parallel C HDF5 now works on HP-UX platforms, Compaq clusters,
      Linux clusters, Cplants (alpha-linux clusters).

  o Tools
  =======
    * A helper script called ``h5cc'', which helps compilation of HDF5
      programs, is now distributed with HDF5. See the reference manual
      for information on how to use this feature.
    * The H5Dumper can now dump comments associated with groups. -WCW 01-05-02

  o Support for new platforms and languages
  =========================================
    * HDF5 C++ Library is supported on Windows platforms.
    * HDF5 F90 shared library is supported on Windows platforms.
    * HDF5 C Library is supported on IA32 and IA64 platforms.



Bug Fixes since HDF5-1.4.2 Release
==================================

    * Fixed a bug when reading chunked datasets where the edge of the dataset
      would be incorrectly detected and generate an assertion failure.
    * Fixed a bug where reading an entire dataset wasn't being handled
      optimally when the dataset had unlimited dimensions.  Dataset is read
      in a single low-level I/O now, instead of being broken into separate
      pieces internally.
    * Fixed a bug where reading or writing chunked data which needed datatype
      conversion could result in data values getting corrupted.
    * Fixed a bug where appending a point selection to the current selection
      would not actually append the point when there were no points defined
      currently.
    * Fixed a bug where 'or'ing a hyperslab with a 'none' selection would
      fail.  Now adds that hyperslab as the first hyperlab in the selection.
    * Fixed a bug in the 'big' test where quota limits weren't being detected
      properly if they caused close() to fail.
    * Fixed a bug in internal B-tree code where a B-tree was not being copied
      correctly.
    * Fixed an off-by-one error in H5Sselect_valid when hyperslab selections
      which would allow hyperslab selections which overlapped the edge of the
      selection by one element as valid.
    * Fixed the internal macros used to encode & decode file metadata, to avoid
      an unaligned access warning on IA64 machines.
    * Corrected behavior of H5Tinsert to not allow compound datatype fields to
      be inserted past the end of the datatype.
    * Retired the DPSS virtual file driver (--with-gridstorage configure
      option).
    * Fixed bug where variable-length datatypes for attributes was not working
      correctly.
    * Fixed bug where raw data re-allocated from the free-list would sometimes
      overlap with the metadata accumulator and get corrupted. QAK - 1/23/02
    * Fixed bug where a preempted chunk in the chunk data could still be
      used by an internal pointer and cause an assertion failure or core
      dump. QAK - 2/13/02
    * Fixed bug where non-zero fill-value was not being read correctly from
      certain chunked datasets when using an "all" or contiguous hyperslab
      selection.  QAK - 2/14/02


Documentation
=============
    * Documentation was updated for the hdf5-1.4.3 release.
    * A new "HDF5 User's Guide" is under development.  See 
      http://hdf.ncsa.uiuc.edu/HDF5/doc_dev_snapshot/H5_NewUG/current/.
    * Parallel Tutorial is available at http://hdf.ncsa.uiuc.edu/HDF5/doc/Tutor/


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  n         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    n         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         n        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 ansd IA64 systems, if you use a compiler other than GCC 
      (such as Intel's ecc compiler), you will need to modify the generated
      "libtool" program after configuration is finished. On or around line 102 
      of the libtool file, there are lines which look like:

          # How to pass a linker flag through the compiler.
          wl=""

      change the lines to this:

          # How to pass a linker flag through the compiler.
          wl="-Wl,"