summaryrefslogtreecommitdiffstats
path: root/RELEASE
blob: bb9835ce18eb6009d6b35f90df403d798b984ec1 (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

 
                       HDF5 Release 1.2.0
                        October 15, 1999


INTRODUCTION

This document describes the differences between HDF5-1.0.1 and 
HDF5-1.2.0, and contains information on the platforms supported
and known problems in HDF5-1.2.0. For more details check 
HISTORY 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 and Changes
- Platforms Tested
- Known Problems


New Features and Changes:
========================

Datatypes
---------

* Optimizations to compound datatype conversions and I/O operations.

* Added nearly 100 optimized conversion functions for native datatypes 
  including support for non-aligned data.

* Added support for bitfield, opaque, and enumeration types.

* Added distinctions between signed and unsigned char types to the
  list of predefined native hdf5 datatypes.

* Added HDF5 type definitions for C9x types like int32_t.

* Application-defined type conversion functions can handle non-packed
  data.

* Changed the H5Tunregister() function to use wildcards when matching
  conversion functions.  H5Tregister_hard() and H5Tregister_soft()
  were combined into H5Tregister().

* Support for variable-length datatypes (arrays of varying length per
  dataset element). Variable length strings are currently supported 
  only as variable length arrays of 1-byte integers.

Dataspaces
----------

* New query functions for selections.

* I/O operations bypass the stripmining loop and go directly to
  storage for certain contiguous selections in the absence of type
  conversions.  In other cases the stripmining buffers are used more
  effectively.

* Reduced the number of I/O requests under certain circumstances,
  improving performance on systems with high I/O latency.

Persistent Pointers
-------------------

* Object (serial and parallel) and dataset region (serial only)
  references were implemented.

Parallel Support
----------------

* Improved parallel I/O performance.

* Supports new platforms: Cray T3E, Linux, DEC Cluster.

* Uses vendor supported version of MPIO on SGI O2K and Cray platforms.

* Improved algorithm for translating an HDF5 hyperslab selection
  into an MPI type for better collective I/O performance.

Debugging
---------

* Improved control and redirection of debugging and tracing messages.

Configuration
-------------

* Better detection and support for MPI-IO.

* Recognition of compilers with known code generation problems.

* Support for various compilers on a single architecture (e.g., the
  native compiler and the GNU compilers).

* Ability to build from read-only media and with different compilers
  and/or options concurrently.

* Added a libhdf5.settings file which summarizes the configuration
  information and is installed along with the library.

* Builds a shared library on most systems that support it.

Documentation
-------------

* More examples.

* Updated User's Guide, Reference Manual, and Format Specification.

* Self-contained documentation for installations isolated from the
  Internet.

* HDF5 Tutorial was added to the documentation. 

Tools
-----

* Enhancements to the h5ls tool including the ability to list objects
  from more than one file, to display raw hexadecimal data, to
  show file addresses for raw data, to format output more reasonably,
  to show object attributes, and to perform a recursive listing,

* Enhancements to h5dump: support new data types added since previous
  versions.

* h5toh4: An hdf5 to hdf4 converter.


New API functions 
-----------------

  Property List Interface:
  ------------------------

  H5Pset_xfer          - set data transfer properties
  H5Pset_preserve      - set dataset transfer property list status 
  H5Pget_preserve      - get dataset transfer property list status
  H5Pset_hyper_cache   - indicates whether to cache hyperslab blocks during I/O
  H5Pget_hyper_cache   - returns information regarding the caching of 
                         hyperslab blocks during I/O
  H5Pget_btree_ratios  - sets B-tree split ratios for a dataset 
                         transfer property list
  H5Pset_btree_ratios  - gets B-tree split ratios for a dataset
                         transfer property list
  H5Pset_vlen_mem_manager - sets the memory manager for variable-length 
                            datatype allocation
  H5Pget_vlen_mem_manager - sets the memory manager for variable-length
                            datatype allocation

  Dataset Interface:
  ------------------

  H5Diterate           - iterate over all selected elements in a dataspace
  H5Dget_storage_size  - return the amount of storage required for a dataset
  H5Dvlen_reclaim      - reclaim VL datatype memory buffers

  Dataspace Interface:
  --------------------
  H5Sget_select_hyper_nblocks   - get number of hyperslab blocks
  H5Sget_select_hyper_blocklist - get the list of hyperslab blocks 
                                  currently selected
  H5Sget_select_elem_npoints    - get the number of element points 
                                  in the current selection
  H5Sget_select_elem_pointlist  - get the list of element points 
                                  currently selected
  H5Sget_select_bounds          - gets the bounding box containing 
                                  the current selection

  Datatype Interface:
  -------------------
  H5Tget_super         - return the base datatype from which a 
                         datatype is derived
  H5Tvlen_create       - creates a new variable-length dataype
  H5Tenum_create       - creates a new enumeration datatype
  H5Tenum_insert       - inserts a new enumeration datatype member
  H5Tenum_nameof       - returns the symbol name corresponding to a 
                         specified member of an enumeration datatype
  H5Tvalueof           - return the value corresponding to a 
                         specified member of an enumeration datatype 
  H5Tget_member_value  - return the value of an enumeration datatype member
  H5Tset_tag           - tags an opaque datatype
  H5Tget_tag           - gets the tag associated with an opaque datatype

  Identifier Interface:
  ---------------------
  H5Iget_type          - retrieve the type of an object

  Reference Interface:
  --------------------
  H5Rcreate            - creates a reference
  H5Rdereference       - open the HDF5 object referenced
  H5Rget_region        - retrieve a dataspace with the specified region selected
  H5Rget_object_type   - retrieve the type of object that an 
                         object reference points to

  Ragged Arrays (alpha) (names of those API functions were changed):
  ------------------------------------------------------------------
  H5RAcreate	       - create a new ragged array (old name was H5Rcreate)
  H5RAopen	       - open an existing array    (old name was H5Ropen)
  H5RAclose	       - close a ragged array      (old name was H5Rclose)
  H5RAwrite	       - write to an array         (old name was H5Rwrite)
  H5RAread	       - read from an array        (old name was H5Rread)



Platforms Tested:
================

  AIX 4.3.2 (IBM SP)
  Cray T3E 2.0.4.61
  Cray J90 10.0.0.6
  FreeBSD 3.2
  HP-UX B.10.20
  IRIX 6.5
  IRIX64 6.5 (64 & n32)
  Linux 2.2.10
  OSF1 4.0
  Solaris 2.6 & 2.7
  TFLOPS 2.7.1
  Windows NT / NT Alpha 4.0
  Windows 98


Known Problems:
==============

o NT alpha 4.0: The dumper utility, h5dump, fails if linked with DLL.

o SunOS 5.6 with C WorkShop Compilers 4.2:  Hyperslab selections will 
  fail if library is compiled using optimization of any level.