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
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
|
HDF5 HISTORY
============
This file contains history of the HDF5 libraries releases
CONTENTS
17. Release Information for hdf5-1.6.3
16. Release Information for hdf5-1.6.2
15. Release Information for hdf5-1.6.1
14. Release Information for hdf5-1.6.0
13. Release Information for hdf5-1.4.5
12. Release Information for hdf5-1.4.4
11. Release Information for hdf5-1.4.3
10. Release Information for hdf5-1.4.2
9. Release Information for hdf5-1.4.1
8. Release Information for hdf5-1.4.0
7. Release Information for hdf5-1.2.2
6. Release Information for hdf5-1.2.1
5. Release Information for hdf5-1.2.0
4. Changes from Release 1.0.0 to Release 1.0.1
3. Changes from the Beta 1.0.0 Release to Release 1.0.0
2. Changes from the Second Alpha 1.0.0 Release to the Beta 1.0.0 Release
1. Changes from the First Alpha 1.0.0 Release to the
Second Alpha 1.0.0 Release
[Search on the string '%%%%' for per-release section breaks.]
%%%%1.6.3%%%% Release Information for hdf5-1.6.3 (22/September/04)
HDF5 version 1.6.3 released on Wed Sep 22 11:30:11 CDT 2004
================================================================================
INTRODUCTION
This document describes the differences between HDF5-1.6.2 and
HDF5-1.6.3, and contains information on the platforms tested and
known problems in HDF5-1.6.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
- Support for new platforms and languages
- Bug Fixes since HDF5-1.6.2
- Documentation
- Platforms Tested
- Supported Configuration Features Summary
- Known Problems
New Features
============
Configuration:
--------------
- Added some initial support for making purify (or similar memory
checking products) happier by initializing buffers to zero and
disabling the internal free list code. To take advantage of this,
define 'H5_USING_PURIFY' in your CFLAGS when building the library.
QAK - 2004/07/23
- WINDOWS building,testing and installing improvements
- On Windows, FORTRAN,C++ and C projects are merged into one zip file,
users can choose an option to build either FORTRAN or C++ or both
with basic C library.For detailed information,
please read INSTALL_Windows.txt.
- On Windows, szip compression library with or without encoder can be easily
turned off or on when building HDF5. For detailed information,
please read INSTALL_Windows.txt, especially section V.
- On Windows, an optional procedure for building,testing and installing
HDF5 from command line is provided. This procedure is supposed to be
convenient for experienced users, please read
INSTALL_windows_From_Command_Line.txt for details.
- On Windows, an alternative short instruction document for building,
testing and installing HDF5 is provided. This instruction is supposed to
be convenient for general users, please read
INSTALL_Windows_Short.txt for details.
- On Windows, h5repack,h5diff,h5ls and h5import tool tests have been added.
KY - 2004/9/16
Library:
--------
- Modified the way how HDF5 calculates 'pixels_per_scanline' parameter for
SZIP compression. Now there is no restriction on the size and shape of the
chunk except that the total number of elements in the chunk cannot be
bigger than 'pixels_per_block' parameter provided by the user.
EIP - 2004/07/21
- HDF5 can now link to SZIP with or without szip's encoder.
The new API function H5Zget_filter_info can be used to check
szip's status. Attempting to assign szip to a dataset property
list or attempting to write with szip will generate an error if
szip's encoder is disabled. JL/NF - 2004/6/30
- SZIP always uses K13 compression. This flag no longer needs to
be set when calling H5Pset_szip. If the flag for CHIP
compression is set, it will be ignored (since the two are mutually
exclusive). JL/NF - 2004/6/30
- A new API function H5Fget_name was added. It returns the name
of the file by object(file, group, data set, named data type,
attribute) ID. SLU - 2004/06/29
- A new API function H5Fget_filesize was added. It returns the
actual file size of the opened file. SLU - 2004/06/24
- Added option that if $HDF5_DISABLE_VERSION_CHECK is set to 2,
will suppress all library version mismatch warning messages.
AKC - 2004/4/14
Parallel Library:
-----------------
Tools:
------
- h5repack was added to the tools suite. h5repack regenerates an HDF5 file
from another HDF5 file, optionally applying HDF5 filters (compression)
and/or chunking to the copied file. The filters options are read from
the command line. See /doc/html/Tools.html for more details.
PVN - 2004/9/13
- h5dump includes new features:
1) Printing of dataset filters, storage layout and fill value information.
2) Print a list of the file contents.
3) Escape non printing characters.
4) Print the content of the boot block.
5) Print array indices with the data (the default).
These options are all switch controlled. See /doc/html/Tools.html for more details.
PVN - 2004/9/13
F90 API:
--------
- added new subroutines:
h5fget_filesize_f
h5iget_file_id_f
h5premove_filter_f
h5zget_filter_info_f
EIP 2004/9/21
- added new h5fget_name_f and h5fget_filesize_f subroutines
EIP 2004/07/08
C++ API:
--------
- Added wrappers for array and variable length datatypes APIs
- Added wrappers for newly added APIs from H5T, H5F, and H5I
- Added many wrappers that were missing from the H5P API
- Added the ability to reference HDF5 objects to these classes:
DataSet, DataType, Group, and H5File (wrappers for H5R APIs)
BMR 2004/08/04
Support for new platforms, languages and compilers.
=======================================
- Added PGI Fortran support for Linux64 (x86_64) systems
EIP - 2004/08/19
- Absoft compiler f95 v9.0 is supported on Linux 2.4 32bit
EIP - 2004/07/29
- HDF5 Fortran APIs are supported on Mac OSX with IBM XL Fortran
compiler version 8.1. This is a default compiler.
- HDF5 Fortran APIs are supported on MAC OSX with Absoft F95 compiler
version 8.2; set F9X environment variable to f95, for example
setenv F9X f95
Use --disable-shared --enable-static configure flags when Absoft
compiler is used.
EIP - 2004/07/27
Bug Fixes since HDF5-1.6.2 release
==================================
Library
-------
- Fixed parallel bug in which some processes attempted collective
I/O while others did independent I/O. Bug appeared when some
processes used point selections, and others didn't. JRM - 2004/9/15
- Corrected error where dataset region references were written in an
incorrect way on Cray machines. PVN & QAK - 2004/09/13
- The H5Tget_native_type now determines the native type for integers
based on the precision. This is to avoid cases of wrongly converting
an int to a short in machines that have a short of 8 bytes but with
32bit precision (e.g Cray SV1). PVN - 2004/09/07
- Changed H5Dread() to not overwrite data in an application's buffer
with garbage when accessing a chunked dataset with an undefined fill
value and an unwritten chunk is uncountered. QAK - 2004/08/25
- Fixed error which could cause a core dump when a type conversion
routine was registered after a compound datatype had been
converted and then an equivalent compound datatype was converted
again. QAK - 2004/08/07
- Fixed memory overwrite when encoding "multi" file driver information
for file's superblock. QAK - 2004/08/05
- Fixed obscure bug where a filter which failed during chunk allocation
could allow library to write uncompressed data to disk but think
the data was compressed. QAK - 2004/07/29
- Fixed bug where I/O to an extendible chunked dataset with zero-sized
dimensions would cause library to fail an assertion.
QAK - 2004/07/27
- Fixed bug where chunked datasets which have filters defined,
allocation time set to "late" and whose chunks don't align with
the dataspace bounds could have incorrect data stored when
overwriting the entire dataset on the first write. QAK - 2004/07/27
- Added check to ensure that dataspaces have extents set. JML-2004/07/26
- Fixed bug on some Solaris systems where HDF5 would try to use
gettimeofday() when that function didn't work properly.
JML - 2004/07/23
- Fixed bug in H5Sset_extent_simple where setting maximum size to
non-zero, then to zero would cause an error. JML - 2004/07/20
- Allow NULL pointer for buffer parameter to H5Dread & H5Dwrite
when not writing data ("none" selection or hyperslab or point
selection with no elements defined). QAK - 2004/07/20
- Calling H5Gcreate() on "/" or "." throws an error instead of
failing quietly. JML - 2004/07/19
- Fixed bug where setting file address size to be very small could
trigger an assert if the file grew to more than 64 KB. Now throws
an error and data can be recovered. JL/NF - 2004/07/14
- Fixed bug where "resurrecting" a dataset was failing.
QAK - 2004/07/14
- Fixed bug where incorrect data could be read from a chunked dataset
after it was extended. QAK - 2004/07/12
- After compound datatype with variable-length string in the fields
is committed to file, the size is messed up when it's read back.
Fixed. SLU - 2004/06/11
- Fixed potential file corruption bug when a block of metadata could
overlap the end of the internal metadata accumulator buffer and
the buffer would be extended correctly, but would incorrectly
change it's starting address. QAK - 2004/06/09
- Opaque datatype with no tag failed for some operations. Fixed.
SLU - 2004/6/3
- Fixed potential file corruption bug where dimensions that were
too large (a value greater than could be represented in 32-bits)
could cause the incorrect amount of space to be allocated in a
file for the raw data for the dataset. QAK - 2004/06/01
- Fixed dtypes "sw long double -> double" failure in QSC class
machines. AKC - 2004/4/16
Configuration
-------------
- Fixed the long compile time of H5detect.c when v7.x Intel Compiler
is used with optimization NOT off. AKC - 2004/05/20
Performance
-------------
Tools
-----
- On SGI h5dump displayed only part of the data due to the bug
in the system printf; fixed.
EIP - 2004/09/21
Documentation
-------------
- Several descriptive errors have been fixed throughout the
documentation, particularly in the reference manual (RM).
A selection particularly worthy of note would be these:
- The H5Pset_szip description in the RM has been expanded and
corrected to facilitate use of SZIP compression.
- A note has been added to the H5Dcreate description that an
unexplained failure is likely to be due to a property list error
that is detected only at the time of dataset creation.
-
FMB - 2004/09/21
F90 API
-------
Fortran functions h5dwrite/read_f and h5awrite/read_f do not
accept dims parameter of INTEGER type anymore. Code was removed.
2004/04/15
C++ API
-------
- H5::Exception's and its subclasses' constructors that were
overloaded to take char pointers are removed and constructors
that passed in reference of 'string' are changed to pass
by value. In addition, the default value of the data member
H5::Exception::detailMessage is changed from 0/NULL to
DEFAULT_MSG ("No detailed information provided".)
- Prototype for DSetCreatPropList::setLayout is changed: 1st parameter
is removed because it was there only by mistake.
BMR 2004/08/04
Documentation
=============
HDF5 Library documentation
--------------------------
- HDF5 C++ API Reference Manual
This document has been added to the HDF5 document set.
The predecessor document, "HDF5 C++ Interfaces," has been removed.
- HDF5 C++ API Design Specification
A first draft of this document has been added to the HDF5 document
set. The draft has been posted on the HDF5 website and a link
has been added to the HDF5 documents index (index.html at the top
level of the document set).
- Parallel HDF5
In prior releases, the HDF5 document set included two parallel
HDF5 documents. Those documents have been deleted and the
HDF5 documents index (index.html) now links to a "Parallel HDF5"
page on the HDF5 website (http://hdf.ncsa.uiuc.edu/HDF5/PHDF5/).
- HDF5 High Level APIs
Links to the HDF5 High Level APIs and to the HDF5 High Level
Reference Manual have been added to the HDF5 documents index
(index.html).
- HDF5 Reference Manual
Tools: h5repack -- A description of the new h5repack tool has been
added to the Tools page.
Tools: h5dump -- Several new options have been added to h5dump.
New functions -- All new functions have been added to the RM.
API changes -- Relevant function descriptions have been updated in
instances where programming interfaces have changed.
FMB - 2004/09/21
Windows installation documentation
----------------------------------
- INSTALL_Windows.txt has been enhanced to include instructions building
HDF5 with FORTRAN and C++.
- Two optional installation documents have been added. They are
INSTALL_Windows_Short.txt and INSTALL_Windows_From_Command_Line.txt.
INSTALL_Windows_Short.txt is supposed to help general users who
only want to build,test and install HDF5 in a quick way.
INSTALL_Windows_From_Command_Line.txt is supposed to help users who
would like to compile,test and install HDF5 in command line environment.
- INSTALL_Windows_withcpp.txt and INSTALL_Windows_withF90.txt became
obsolete. Files are deleted from the release_docs directory.
KY 2004/09/16, EIP 2004/9/21
Platforms Tested
================
AIX 5.1 (32 and 64-bit) xlc 6.0.0.6
xlf 8.1.1.3
xlC 6.0.0.6
mpcc_r 6.0.0.6
mpxlf_r 8.1.1.3
xlc 5.0.2.5
xlf 7.1.1.2
xlC 5.0.2.5
mpcc_r 5.0.2.5
mpxlf_r 7.1.1.2
AIX 5.2 xlc 6.0.0.8
xlC 6.0.0.8
xlf 8.1.1.6
mpcc_r 6.0.0.8
mpxlf_r 8.1.1.6
Cray T90 sn7001 10.0.0md Cray Standard C Version 6.4.0.3
Cray Fortran Version 3.4.0.0
Cray T3E sn6606 2.0.6.08 Cray Standard C Version 6.6.0.3
Cray Fortran Version 3.6.0.3
Cray SV1 sn9617 10.0.1.2 Cray Standard C Version 6.6.0.3.6
Cray Fortran Version 3.6.0.3.1
FreeBSD 4.9 gcc 2.95.4
g++ 2.95.4
HP-UX B.11.00 HP C HP92453-01 A.11.01.20
HP F90 v2.4
HP ANSI C++ B3910B A.03.13
MPIch 1.2.4
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1.3m
F90 MIPSpro 7.3.1.3m (64 only)
C++ MIPSpro cc 7.3.1.3m
mpt 1.6
Linux 2.4.18 gcc 2.96, 3.3.2
g++ 3.3.2
Intel(R) C++ Version 7.1
Intel(R) Fortran Compiler Version 7.1
PGI compilers (pgcc, pgf90, pgCC) version 5.0-2
MPIch 1.2.4
Absoft Fortran compiler v9.0
Linux 2.4.20-8 gcc 3.3.2
PGI compilers (pgcc, pgf90, pgCC) version 5.0-2
MPIch 1.2.4
Linux 2.4.21-2.9.5ws #3 gcc 3.2.3 (Red Hat Linux 3.2.3-16)
SMP x86_64 g++ 3.2.3
Linux 2.4.21-4.ELsmp Intel(R) C++ 32-bit Version 8.0
Intel(R) Fortran 32-bit Version 8.0
gcc 3.4.0
MPICH 1..5.2 Inmel 8.0
Linux 2.4.19-SMP x86_64 gcc (GCC) 3.2.2 (SuSE Linux)
g++ 3.2.2
Linux 2.6.4-52smp x86_64 gcc 3.3.3 (SuSE Linux 9.1 AMD64))
PGI 5.2-1 C and F90
Linux 2.4.21-sgi Altix
SMP ia64 Intel(R) C++ Version 8.0
Intel(R) Fortran Itanium(R) Version 8.0
SGI MPI
OSF1 V5.1 Compaq C V6.5-303
HP Fortran V5.5A-3548
Compaq C++ V6.5-040
MPI_64bit_R13
SunOS 5.7(32 and 64 bit) 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 and 64 bit) Sun WorkShop 6 update 2 C 5.3
(Solaris 2.8) Sun WorkShop 6 update 2 Fortran 90
Sun WorkShop 6 update 2 C++ 5.3
TFLOPS r1.0.4 v4.4.3 i386 pgcc Rel 3.1-4i with mpich-1.2.4 with
local modifications
IA-32 Linux 2.4.18 gcc 2.96
Intel(R) C++ Version 7.0
Intel(R) Fortran Compiler Version 7.0
Xeon Linux 2.4.20-31.9smp_perfctr_lustre
Intel(R) C++ Version 8.0
Intel(R) Fortran Compiler Version 8.0
IA-64 Linux 2.4.16 ia64 gcc version 3.0.4
Intel(R) C++ Version 7.1
Intel(R) Fortran Compiler Version 7.1
IA-64 Linux 2.4.21.SuSE_128.bef1 ia64
Intel(R) C++ Version 8.0
Intel(R) Fortran Compiler Version 8.0
mpich-gm-1.2.5..intel
Windows 2000 (NT5.0) MSVC++ 6.0
MSVC++ .NET
DEC Visual Fortran 6.0
Intel C and F90 compilers version 7.1
Code Warrior 8.0
Windows XP MSVC++.NET
MSVC++ 6.0
DEC Visual Fortran 6.0
MAC OS X Darwin 7.5
gcc and g++ Apple Computer, Inc. GCC
version 1175, based on gcc version 3.3.2
IBM XL Fortran version 8.1
Absoft Fortran compiler v8.2
Supported Configuration Features Summary
========================================
Key: y = tested and supported
n = not supported or not tested in this release
x = not working in this release
dna = does not apply
( ) = footnote appears below second table
Platform C F90 F90 C++ zlib SZIP
parallel parallel
Solaris2.7 64-bit y (1) y y (1) y y y
Solaris2.7 32-bit y (1) y y (1) y y y
Solaris2.8 64-bit y (1) y y (1) y y y
Solaris2.8 32-bit y y y (1) y y y
IRIX64_6.5 64-bit y (2) y y y y y
IRIX64_6.5 32-bit y (2) n n n y y
HPUX11.00 y (1) y y y y y
OSF1 v5.1 y y y y y y
T90 IEEE n y n n y n
T3E y (5) y y (5) n y n
SV1 y (5) y y (5) n y n
TFLOPS y (1) n n n y n
AIX-5.1 & 5.2 32-bit y y y y y y
AIX-5.1 & 5.2 64-bit y y y y y y
WinXP Visual Studio 6.0 n y (9) n y y y
WinXP .Net n n n y y y
WinXP Code Warrior n n n n y y
Win2000 Visual Studio 6.0 n y (10) n y y y
Win2000 Visual Studio Intel (6) n y n y y y
Win2000 .Net n n n y y y
Mac OS X 10.3 n y (11) n y y y
FreeBSD 4.9 y (1) n n y y y
RedHat 7 W (3) y (1) y (12) n y y y
RedHat 7.3 W Intel (3) n y n y y y
RedHat 7.3 W PGI (3) n y n y y y
RedHat 8 & SuSe x86_64 gcc (3) n y (13) n y y y
Linux 2.4 Xeon C Lustre Intel (3,7) n y n y y y
Linux 2.4 SuSE ia64 C Intel (3,8) y y y y y y
Linux 2.4 SGI Altix ia64 Intel (3) y y y y y y
Platform Shared static- Thread- STREAM-
libraries (4) exec safe VFD
Solaris2.7 64-bit y x y y
Solaris2.7 32-bit y x y y
Solaris2.8 64-bit y x y y
Solaris2.8 32-bit y x y y
IRIX64_6.5 64-bit y y y y
IRIX64_6.5 32-bit y y y y
HPUX11.00 y x n y
OSF1 v5.1 y y n y
T90 IEEE n y n y
T3E n y n y
SV1 n y n y
TFLOPS n y n n
AIX-5.1 & 5.2 32-bit n y n y
AIX-5.1 & 5.2 64-bit n y n y
WinXP Visual Studio 6.0 y y n n
WinXP .Net y y n n
WinXP Code Warrior n y n n
Win2000 Visual Studio 6.0 y y n n
Win2000 Visual Studio Intel (6) y y n n
Win2000 .Net y y n n
Mac OS X 10.3 y y n y
FreeBSD 4.9 y y y y
RedHat 7 W (3) y y y y
RedHat 7.3 W Intel (3) n y n y
RedHat 7.3 W PGI (3) n y n y
RedHat 8 & SuSe x86_64 gcc (3) n y n y
Linux 2.4 Xeon C Lustre Intel (3,7) y y n y
Linux 2.4 SuSE ia64 C Intel (3,8) y y n n
Linux 2.4 SGI Altix ia64 Intel (3) y y n y
Compiler versions for each platform are listed in the "Platforms Tested"
table found elsewhere in this file (RELEASE.txt). Unless otherwise noted,
compilers used are the system compilers.
Footnotes: (1) Using mpich 1.2.4
(2) Using mpt and mpich 1.2.4
(3) Linux 2.4 with GNU, Intel, and PGI compilers, as indicated
W or C indicates workstation or cluster, respectively
(4) Shared libraries are provided only for the C library,
except on Windows where they are provided for C and C++
(5) Using mpt
(6) Intel 7.1 compilers in Visual Studio 6.0 environment
(7) Linux 2.4.20-31.9. Xeon cluster with smp_perfctr_lustre
and Intel compilers
(8) Linux 2.4.21, SuSE_128.befl. Ia64 cluster with Intel compilers
(9) DEC Visual Fortran 6.0 and Intel 7.1
(10) DEC Visual Fortran 6.0
(11) IBM XLF and Absoft
(12) PGI, Absoft
(13) PGI
FMB/EIP - 2004/09/21
Known Problems
==============
* h5fc and h5c++ compilation scripts have a bug: object files (*.o) cannot be
created when source code is compiled using h5fc or h5c++. We will provide
a fix. Please check ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/src/patches/
for the patches.
* Fortran subroutine h5pget_driver_f doesn't return a correct driver information.
* There are two h5dump xml tests(h5dump --xml thlink.h5 and h5dump --xml tmany.h5)
failed on windows xp with .NET for debug and debug dll. Release and Release
dll work fine.
* The h5dump tests may fail to match the expected output on some platforms
(e.g. parallel jobs, 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 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.
* 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.
* Before building HDF5 F90 Library from source on Crays
replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src
subdirectory in the top level directory with the Cray-specific files
from the site:
ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/src/patches/
* 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)
* 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,"
UPDATE: This is now done automatically by the configure script. However, if
you still experience a problem, you may want to check this line in the
libtool file and make sure that it has the correct value.
* Information about building with PGI and Intel compilers is available in
INSTALL file sections 5.7 and 5.8
* In LANL QSC, the new cc compiler has problems converting small values of
long long (absolute values less than 1**-308) to double. This triggers
the test/dtypes to report failure in the
Testing random sw long double -> double conversions
If -ieee is used, the converted doubles spread over the range 0.0 to 1**-308.
If -ieee is not used, the converted double values are mostly 0.0 but
occasionally as 1**-308. This has been reported to the system staff.
All other tests have passed.
* 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 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 scripts 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.
%%%%1.6.2%%%% Release Information for hdf5-1.6.2 (12/February/04)
HDF5 version 1.6.2 released on Thu Feb 12 14:18:13 CST 2004
================================================================================
INTRODUCTION
This document describes the differences between HDF5-1.6.1 and
HDF5-1.6.2, and contains information on the platforms tested and
known problems in HDF5-1.6.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
- Support for new platforms and languages
- Bug Fixes since HDF5-1.6.1
- Documentation
- Platforms Tested
- Supported Configuration Features Summary
- Known Problems
New Features
============
Configuration:
--------------
- Default of $prefix is changed to $PWD/hdf5 so that multiple
builds using --srcdir is possible in the same machine.
AKC - 2003/12/1
Library:
--------
- Added H5Iget_ref, H5Iinc_ref and H5Idec_ref routines to the C
library and the FORTRAN wrapper. See the reference manual for a
full description of these new routines. QAK - 2003/12/11
Parallel Library:
-----------------
- The parallel tests in testpar/ now provides different levels of
verbosity via the '-v' option. The default is less verbose
than before. AKC - 2004/01/23
- Added parallel test, test_mpio_1wMr, which tests if the
underlaying parallel I/O system is conforming to the POSIX
write/read requirement. This version includes options of using
atomicity and file-sync. AKC - 2003/11/27
Tools:
------
- Added option -showconfig to compiler tools (h5cc,h5fc,h5c++).
AKC - 2004/01/08
- Install the "h5cc" and "h5fc" tools as "h5pcc" and "h5pfc"
respectively if library is built in parallel mode. AKC - 2004/01/07
- Added metadata benchmark (perform/perf_meta). SLU - 2003/10/03
C++ API:
--------
Support for new platforms, languages and compilers.
=======================================
- HDF5 Fortran APIs are supported on MAC OSX with IBM XL Fortran compiler
version 8.1 Beta
Use --disbale-shared --enable-static flags with configure when
building HDF5 Fortran Library on MAC OSX.
- C and C++ Libraries are available for Linux64 RH8
- C, C++ and Fortran sequential Libraries, and C and Fortran parallel
Libraries are available for Altix (Linux ia64)
Bug Fixes since HDF5-1.6.1 release
==================================
Library
-------
- Fixed problem with H5Tget_native_type() not handling opaque fields
correctly. QAK - 2004/01/31
- Fixed several errors in B-tree deletion code which could cause a
B-tree (used with groups and chunked datasets) to become corrupt
with the right sequence of deleted objects. QAK - 2004/01/19
- Fixed small internal memory leaks of fill-value information.
QAK - 2004/01/13
- Fixed bug that caused variable-length datatypes (strings or sequences)
used for datasets in files with objects that were unlinked to
fail to be read/written to a file. QAK - 2004/01/13
- Detect situation where szip 'pixels per block' is larger than the
fastest changing dimension of a dataset's chunk size and disallow
this (due to limits in szip library). QAK - 2003/12/31
- Fixed bug with flattened hyperslab selections that would generate
incorrect hyperslab information with certain high-dimensionality
combinations of start/stride/count/block information.
QAK - 2003/12/31
- Fixed bug with variable-length datatypes used in compound datatypes.
SLU - 2003/12/29
- Fixed bug in parallel I/O routines that would cause reads from
"short datasets" (datasets which were only partially written out)
to return invalid data. QAK & AKC - 2003/12/19
- Fixed bug where scalar dataspaces for attributes were reporting as
simple dataspaces. QAK - 2003/12/13
- Fixed problem with selection offsets of hyperslab selections in
chunked datasets causing the library to go into an infinite loop.
QAK - 2003/12/13
- Fixed H5Giterate to avoid re-using index parameter after iteration
callback has been called (allows iteration callback to modify the
index parameter itself). QAK - 2003/12/06
- Fixed various floating-point conversion problems, including a
change which could corrupt data when converting from double->float.
QAK - 2003/11/24
- Changed "single process" metadata writing in library to collective
I/O by all processes, in order to guarantee correct data being
written with MPI-I/O. QAK - 2003/11/20
- Fixed problems with fill values and variable-length types and also
I/O on VL values that were set to NULL. QAK - 2003/11/08
- Fixed problems with MPI datatypes that caused ASCI Q machine to
hang. QAK - 2003/10/28
- Removed HDF5_MPI_PREFER_DERIVED_TYPES environment variable support,
since it had no benefit. QAK - 2003/10/28
- Single hyperslab selections (which were set with only one call to
H5Sselect_hyperslab) that had dimensions that could be "flattened"
but were interspersed with dimensions that could not be flattened
were not correctly handled, causing core dumps. QAK - 2003/10/25
- Avoid metadata cache from preempting current dataset object header
when looking up information about the named datatype that the
dataset uses. QAK - 2003/10/20
Configuration
-------------
- Parallel I/O with the MPI-I/O driver will no longer work if the
filesystem is not POSIX compliant. The "HDF5_MPI_1_METAWRITE"
environment variable has been removed. QAK - 2004/01/30
Performance
-------------
- More optimizations to inner loops of datatype conversions for
integers and floats which give a 10-50% speedup. QAK - 2003/11/07
- Hoisted invariant 'if/else's out of inner datatype conversion loop for
integer and floating-point values, giving about a 20% speedup.
QAK - 2003/10/20
Tools
-----
- Fixed h5redeploy which sometimes complain too many argument for the
test command. (The complain did not hinder the h5redploy to proceed
correctly.) AKC - 2003/11/03
Documentation
-------------
Documentation
=============
Platforms Tested
================
AIX 5.1 (32 and 64-bit) xlc 6.0.0.2
xlf 8.1.0.3
xlC 6.0.0.4
xlc 5.0.2.5
xlf 7.1.1.2
xlC 5.0.2.5
mpcc_r 5.0.2.5
mpxlf_r 7.1.1.2
poe 3.2.0.10
Cray T3E sn6606 2.0.6.08 Cray Standard C Version 6.6.0.2
Cray Fortran Version 3.6.0.2
Cray SV1 sn9617 10.0.1.2 Cray Standard C Version 6.6.0.2
Cray Fortran Version 3.6.0.2
Cray T90IEEE 10.0.0md Cray Standard C Version 6.4.0.3
Cray Fortran Version 3.4.0.0
FreeBSD 4.9 gcc 2.95.4
g++ 2.95.4
HP-UX B.11.00 HP C HP92453-01 A.11.01.20
HP F90 v2.4
HP ANSI C++ B3910B A.03.13
MPIch 1.2.4
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1.3m
F90 MIPSpro 7.3.1.3m (64 only)
C++ MIPSpro cc 7.3.1.3m
Linux 2.4.18 gcc 2.96, 3.3.2
g++ 3.3.2
Intel(R) C++ Version 7.1
Intel(R) Fortran Compiler Version 7.1
PGI compilers (pgcc, pgf90, pgCC) version 5.0-2
MPIch 1.2.4
Linux 2.4.20-8 gcc 3.3.2
PGI compilers (pgcc, pgf90, pgCC) version 5.0-2
MPIch 1.2.4
Linux 2.4.21-2.9.5ws #3 gcc 3.2.3 (Red Hat Linux 3.2.3-16)
SMP x86_64 g++ 3.2.3
Linux 2.4.19-SMP x86_64 gcc (GCC) 3.2.2 (SuSE Linux)
g++ 3.2.2
Linux 2.4.21-sgi Altix
SMP ia64 Intel(R) C++ Version 7.1
Intel(R) Fortran Itanium(R) Version 7.1
SGI MPI
OSF1 V5.1 Compaq C V6.4-014
Compaq Fortran V5.5-2602
Compaq Fortran V5.5-1877
Compaq C++ V6.5-033
Compaq C++ V6.5-030
MPI_64bit_R13
SunOS 5.7(32 and 64 bit) 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 and 64 bit) Sun WorkShop 6 update 2 C 5.3
(Solaris 2.8) Sun WorkShop 6 update 2 Fortran 90
Sun WorkShop 6 update 2 C++ 5.3
TFLOPS r1.0.4 v4.4.2 i386 pgcc Rel 3.1-4i with mpich-1.2.4 with
local modifications
IA-32 Linux 2.4.18 gcc 2.96
Intel(R) C++ Version 7.0
Intel(R) Fortran Compiler Version 7.0
IA-64 Linux 2.4.16 ia64 gcc version 3.0.4
Intel(R) C++ Version 7.1
Intel(R) Fortran Compiler Version 7.1
IA-64 Linux 2.4.21.SuSE_128.bef1 ia64
Intel(R) C++ Version 7.1
Intel(R) Fortran Compiler Version 7.1
mpich-gm-1.2.5..intel
Windows 2000 (NT5.0) MSVC++ 6.0
DEC Visual Fortran 6.0
Intel C and F90 compilers version 7.1
Code Warrior 8.0
Windows XP MSVC++.NET
MAC OS X Darwin 7.2
gcc and g++ Apple Computer, Inc. GCC
version 1175, based on gcc version 3.3.2
IBM XL Fortran version 8.1 Beta
Supported Configuration Features Summary
========================================
Key: y = tested and supported
n = not supported or not tested in this release
x = not working in this release
dna = does not apply
( ) = footnote appears below second table
Platform C C F90 F90 C++ Shared zlib
parallel parallel libraries (4)
Solaris2.7 64-bit y y (1) y y (1) y y y
Solaris2.7 32-bit y y (1) y y (1) y y y
Solaris2.8 64-bit y y (1) y y (1) y y y
Solaris2.8 32-bit y y y y (1) y y y
IRIX64_6.5 64-bit y y (2) y y y y y
IRIX64_6.5 32-bit y y (2) n n n y y
HPUX11.00 y y (1) y y y y y
OSF1 v5.1 y y y y y y y
T3E y y (5) y y (5) n n y
SV1 y y (5) y y (5) n n y
T90 IEEE y y (5) y y (5) n n y
TFLOPS n y (1) n n n n y
AIX-5.1 32-bit y y y y y n y
AIX-5.1 64-bit y y y y y n y
WinXP Visual Studio (7) y n n n y y y
WinXP Intel y n n n y y y
WinXP CW y n n n n n y
Win2000 Visual Studio y n y n y y y
Win2000 Intel y n y n y y y
Mac OS X 10.3 y n y n y y y
FreeBSD 4.9 y y (1) n n y y y
RedHat 7, 8 & 9 ia32 y y (1) y(PGI) n y y y
W gcc (3)
RedHat 7.3 ia32 W Intel (3) y n y n y n y
RedHat 7.3 ia32 W PGI (3) y n y n y n y
RedHat 7 ia32 C Intel (3) y n y n y n y
RedHat 7.1 ia64 C Intel (3) y n y n y n y
RedHat 8 & SuSe x86_64 y n n n y n y
gcc (3)
Linux 2.4 SGI Altix ia64 y n y n y y y
Intel (3)
Platform static- Thread- SZIP GASS STREAM- High- H4/H5
exec safe VFD level tools
APIs (6)
Solaris2.7 64-bit x y y n y y n
Solaris2.7 32-bit x y y n y y y
Solaris2.8 64-bit x y y n y y n
Solaris2.8 32-bit x y y n y y y
IRIX64_6.5 64-bit x y y y y y y
IRIX64_6.5 32-bit x y y y y y y
HPUX11.00 x n y n y y y
OSF1 v5.1 y n y n y y y
T3E y n n n y y y
SV1 y n n n y y y
T90 IEEE y n n n y y n
TFLOPS y n n n n n n
AIX-5.1 32-bit y n y n y y y
AIX-5.1 64-bit y n y n y y y
WinXP Visual Studio y n y n n y y
WinXP Intel y n y n n y y
WinXP CW y n y n n y y
Win2000 Visual Studio y n y n n y y
Win2000 Intel y n y n n y y
Mac OS X 10.3 y n y n y y n
FreeBSD 4.9 y y y n y y y
RedHat 7, 8 & 9 ia32 y y y n y y y
W gcc (3)
RedHat 7.3 ia32 W Intel (3) y n y n y n n
RedHat 7.3 ia32 W PGI (3) y n y n y n n
RedHat 7 ia32 C Intel (3) y n y n y y y
RedHat 7.1 ia64 C Intel (3) y n y n y y y
RedHat 8 & SuSe x86_64 y n y n y y y
gcc (3)
Linux 2.4 SGI Altix ia64 y n y n y y y
Intel (3)
Compiler versions for each platform are listed in the "Platforms Tested"
table found elsewhere in this file (RELEASE.txt). Unless otherwise noted,
compilers used are the system compilers.
Footnotes: (1) Using mpich 1.2.4.
(2) Using mpt and mpich 1.2.4.
(3) Linux 2.4 with GNU, Intel, and PGI compilers, as indicated.
W or C indicates workstation or cluster, respectively.
(4) Shared libraries are provided only for the C library,
except on Windows where they are provided for C and C++.
(5) Using mpt.
(6) Includes the H4toH5 Library and the h4toh5 and h5toh4
utilities.
Known Problems
==============
* Fortran subroutine h5pget_driver_f doesn't return a correct driver information.
* There are two h5dump xml tests(h5dump --xml thlink.h5 and h5dump --xml tmany.h5)
failed on windows xp with .NET for debug and debug dll. Release and Release
dll work fine.
* The h5dump tests may fail to match the expected output on some platforms
(e.g. parallel jobs, 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 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.
* 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.
* Before building HDF5 F90 Library from source on Crays
replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src
subdirectory in the top level directory with the Cray-specific files
from the site:
ftp://hdf.ncsa.uiuc.edu/pub/outgoing/hdf5/hdf5-1.6.2/F90_source_for_Crays
* On some platforms that use Intel 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)
* 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,"
UPDATE: This is now done automatically by the configure script. However, if
you still experience a problem, you may want to check this line in the
libtool file and make sure that it has the correct value.
* Information about building with PGI and Intel compilers is available in
INSTALL file sections 5.7 and 5.8
* In LANL QSC, the new cc compiler has problems converting small values of
long long (absolute values less than 1**-308) to double. This triggers
the test/dtypes to report failure in the
Testing random sw long double -> double conversions
If -ieee is used, the converted doubles spread over the range 0.0 to 1**-308.
If -ieee is not used, the converted double values are mostly 0.0 but
occassionaly as 1**-308. This has been reported to the system staff.
All other tests have passed.
* On AIX 5.1 when 64-bit parallel C Library is built with zlib configured in,
compilation fails for H5Zdeflate.c. To bypass the problem, remove "const"
definition in front of H5Z_DEFLATE in H5Zpkg.h line 29.
%%%%1.6.1%%%% Release Information for hdf5-1.6.1 (16/October/03)
15. Release information for HDF5 version 1.6.1
================================================
INTRODUCTION
This document describes the differences between HDF5-1.6.0 and
HDF5-1.6.1, and contains information on the platforms tested and
known problems in HDF5-1.6.1. 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
- Support for new platforms and languages
- Bug Fixes since HDF5-1.6.0
- Documentation
- Platforms Tested
- Known Problems
New Features
============
Configuration:
--------------
Library:
--------
- Added new fields to the H5G_stat_t for more information about an
object's object header. QAK 2003/10/06
- Added new H5Fget_freespace() routine to query the free space in a
given file. QAK 2003/10/06
Parallel Library:
-----------------
Tools:
------
C++ API:
--------
- Added overloaded functions read and write to H5::Attribute.
BMR - 2003/04/21
- Added an overloaded constructor H5::StrType so the need to separately
set the length of the string type can be eliminated. BMR - 2003/04/21
- Added overloaded functions read and write to H5::DataSet.
BMR - 2003/04/27
The following items were added but not documented in previous releases:
- On windows, any application, that uses the C++ API dll, must
include the name HDF5CPP_USEDLL in its project setting. (Feb 17, 2002)
BMR - 2003/10/10
- Added missing default constructor H5::H5File. (Apr 26, 2002)
BMR - 2003/10/10
- Added new member function H5::DataSet::fillMemBuf per the new C
API H5Dfill, which fills the elements in a selection for a memory
buffer with a fill value. (May 16, 2002) BMR - 2003/10/10
- Added the new member function getMemberIndex to H5::EnumType
and H5::CompType to match the new C API H5Tget_member_index. Given
the name of a member of an enumeration or compound datatype, this
new function queries the index of the member. (May 16, 2002)
BMR - 2003/10/10
- Added these member functions to H5::Group per the new C functions
H5Gget_num_objs, H5Gget_objname_by_idx and H5Gget_objtype_by_idx:
+ getNumObjs: Returns the number of objects in the group.
+ getObjnameByIdx: Retrieves the name of an object in a group,
given an index
+ getObjTypeByIdx: Returns the type of an object in a group,
given an index
(Jan 20, 2003) BMR - 2003/10/10
Support for new platforms, languages and compilers.
=======================================
- gcc 3.3.1 is supported on Linux.
Bug Fixes since HDF5-1.6.0 release
==================================
Library
-------
- Fixed incorrect datatype of the third parameter to the Fortran90
h5pset(get)_cache_f functions (INTEGER to INTEGER(SIZE_T)) EIP - 2003/10/13
- Fixed problems with accessing variable-length data datatypes on
Crays. QAK - 2003/10/10
- Fixed potential file corruption bug when too many object header
messages (probably attributes, from a user perspective) were
inserted into an object header and certain other conditions were
met. QAK - 2003/10/08
- Changed implementation of internal ID searching algorithm to avoid
O(n) behavior for many common cases. QAK - 2003/10/06
- Allow partial parallel writing to compact datasets. QAK - 2003/10/06
- Correctly create reference to shared datatype in attribute, instead
of making a copy of the shared datatype in the attribute.
QAK - 2003/10/01
- Revert changes which caused files >2GB to fail when created with
MPI-I/O file driver on certain platforms. QAK - 2003/09/16
- Allow compound datatypes to grow in size. SLU - 2003/09/10
- Detect if a type is already packed before attempting to pack it
again or check if it is locked. SLU - 2003/09/10
- Corrected bug when opening a file twice with read-only permission
for one open and then closing the read-only access file ID would
generate an error. QAK - 2003/09/10
- Corrected bug in repeated calls to H5Pget_access_plist() which would
incorrectly manage reference counts of internal information and
eventually blow up. QAK - 2003/09/02
- Return rank of the array datatype on successful call to
H5Tget_array_dims(). QAK - 2003/08/30
- Corrected bug in H5Tdetect_class which was not correctly detecting
datatype classes of fields in nested compound datatypes in some
circumstances. QAK - 2003/08/30
- Corrected bug in sieve buffer code which could cause loss of data
when a small dataset was created and deleted in quick succession.
QAK - 2003/08/27
- Corrected bug in H5Gget_objname_by_idx which was not allowing NULL
for the name when just querying for the object name's length.
QAK - 2003/08/25
- Corrected bug in variable-length string handling which could
generate a core dump on writing variable-length strings as part
of a compound datatype on certain architectures. QAK - 2003/08/25
- Corrected bug in H5Tget_native_type which would incorrectly compute
the size of certain compound datatypes and also incorrectly
compute the offset of the last field for those compound datatypes.
QAK - 2003/08/25
- Corrected bug in H5Tget_native_type which would drop string datatype
metadata (padding, etc.) QAK - 2003/08/25
- Corrected bugs in H5Gget_num_objs, H5Gget_objname_by_idx and
H5Gget_objtype_by_idx to allow them to accept location IDs, not just
group IDs. QAK - 2003/08/21
- Corrected bug when using scalar dataspace for memory selection and
operating on chunked dataset. QAK - 2003/08/18
- Corrected bugs with multiple '/' characters in names for H5Glink
and H5Gunlink. QAK - 2003/08/16
- Corrected bug with user blocks that didn't allow a user block to
be inserted in front of a file after the file was created.
QAK - 2003/08/13
- Corrected errors with using point selections to access data in
chunked datasets. QAK - 2003/07/23
- Corrected error with variable-length datatypes and chunked datasets
which caused H5Dwrite to fail sometimes. QAK - 2003/07/19
- Modified library and file format to support storing indexed storage
(chunked dataset) B-tree's with non-default internal 'K' values.
QAK - 2003/07/15
- Returned H5T_BKG_TEMP support to library after it was accidentally
removed. QAK - 2003/07/14
Configuration
-------------
- Fixed the error that caused "make install" to fail because of the
macro definition syntax of "prefix?=..." AKC - 2003/07/22
Performance
-------------
Tools
-----
- Fixed a segmentation fault of h5diff when percentage option is used.
AKC - 2003/08/27
- Switched away from tools using internal "fixtype" function(s) to use
H5Tget_native_type() internally. QAK - 2003/08/25
Documentation
-------------
- Added two missing Fortran APIs (h5pget_fapl_mpiposix_f and
h5pset_fapl_mpiposix_f) to the reference manual.
FMB - 2003/10/15
- Corrected the reference manual descriptions of H5open/h5open_f and
H5close/h5close_f to indicate that these calls are required in
Fortran90 applications. FMB - 2003/10/15
Documentation
=============
Fortran90 APIs are being integrated into the main body of the
HDF5 Reference Manual (RM). This process is complete in all RM sections
except H5P.
A PDF version of the RM will be posted on the HDF5 website
(at http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/) approximately one week
after the release.
Platforms Tested
================
AIX 5.1 (32 and 64-bit) xlc 6.0.0.2
xlf 8.1.0.3
xlC 6.0.0.4
xlc 5.0.2.5
xlf 7.1.1.2
xlC 5.0.2.5
mpcc_r 5.0.2.5
mpxlf_r 7.1.1.2
poe 3.2.0.10
Cray T3E sn6606 2.0.6.08 Cray Standard C Version 6.6.0.2
Cray Fortran Version 3.6.0.2
Cray SV1 sn9617 10.0.1.2 Cray Standard C Version 6.6.0.2
Cray Fortran Version 3.6.0.2
Cray T90IEEE 10.0.1.01y Cray Standard C Version 6.4.0.2.3
Cray Fortran Version 3.4.0.3
FreeBSD 4.9 gcc 2.95.4
g++ 2.95.4
HP-UX B.11.00 HP C HP92453-01 A.11.01.20
HP F90 v2.4
HP ANSI C++ B3910B A.03.13
HP MPI 01.07.00.00
IRIX 6.5 MIPSpro cc 7.3.1.2m
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1.3m
F90 MIPSpro 7.3.1.3m (64 only)
MPIch 1.2.4
Linux 2.4.18 gcc 2.96, 3.2.2, 3.3.1
g++ 3.2.2, 3.2.3
Intel(R) C++ Version 7.1
Intel(R) Fortran Compiler Version 7.1
PGI compilers (pgcc, pgf90, pgCC) version 4.0-2
MPIch 1.2.4
Linux 2.4.20-8 gcc 3.2.2
OSF1 V5.1 Compaq C V6.4-014
Compaq C V6.3-027
Compaq Fortran V5.5-2602
Compaq C++ V6.5-030
MPI_64bit_R5
g++ version 3.0 for C++
SunOS 5.7(32 and 64 bit) 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 and 64 bit) Sun WorkShop 6 update 2 C 5.3
(Solaris 2.8) Sun WorkShop 6 update 2 Fortran 90
Sun WorkShop 6 update 2 C++ 5.3
TFLOPS r1.0.4 v4.4.0 i386 pgcc Rel 3.1-4i with mpich-1.2.4 with
local modifications
IA-32 Linux 2.4.9 gcc 2.96
Intel(R) C++ Version 7.0
Intel(R) Fortran Compiler Version 7.0
IA-64 Linux 2.4.16 ia64 gcc version 2.96 20000731
Intel(R) C++ Version 7.0
Intel(R) Fortran Compiler Version 7.0
Windows 2000 (NT5.0) MSVC++ 6.0
DEC Visual Fortran 6.0
Intel C and F90 compilers version 7.1
Code Warrior 8.0
Windows XP MSVC++.NET
MAC OS X Darwin 6.8
gcc and g++ Apple Computer, Inc. GCC
version 1175, based on gcc version 3.1
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
dna = does not apply
( ) = footnote appears below second table
Platform C C F90 F90 C++ Shared zlib
parallel parallel libraries (4)
Solaris2.7 64-bit y y (1) y y (1) y y y
Solaris2.7 32-bit y y (1) y y (1) y y y
Solaris2.8 64-bit y y (1) y y (1) y y y
Solaris2.8 32-bit y y y y (1) y y y
IRIX6.5 y y (1) n n n y y
IRIX64_6.5 64-bit y y (2) y y y y y
IRIX64_6.5 32-bit y y (2) n n n y y
HPUX11.00 y y (1) y y y y y
OSF1 v5.1 y y y y y y y
T3E y y (5) y y (5) n n y
SV1 y y (5) y y (5) n n y
T90 IEEE y y (5) y y (5) n n y
TFLOPS n y (1) n n n n y
AIX-5.1 32-bit y y y y y n y
AIX-5.1 64-bit y y y y y n y
WinXP (6) y n n n y y y
WinXP Intel y n n n y y y
Win2000 y n y n y y y
Win2000 Intel y n y n y y y
WinNT CW y n n n n n y
Mac OS X 10.2 y n n n y y y
FreeBSD y y (1) n n y y y
Linux 2.4 gcc (3) y y (1) y (PGI) n y y y
Linux 2.4 Intel (3) y n y n y n y
Linux 2.4 PGI (3) y n y n y n y
Linux 2.4 IA32 Intel y n y n y n y
Linux 2.4 IA64 Intel y n y n y n y
ASCII Table 2 -- for RELEASE.txt
Platform static- Thread- SZIP GASS STREAM- High-level H4/H5
exec safe VFD APIs tools (7)
Solaris2.7 64-bit x y y n y y n
Solaris2.7 32-bit x y y n y y y
Solaris2.8 64-bit x y y n y y n
Solaris2.8 32-bit x y y n y y y
IRIX6.5 x n y n y y y
IRIX64_6.5 64-bit x y y y y y y
IRIX64_6.5 32-bit x y y y y y y
HPUX11.00 x n y n y y y
OSF1 v5.1 y n y n y y y
T3E y n n n y y y
SV1 y n n n y y y
T90 IEEE y n n n y y n
TFLOPS y n n n n n n
AIX-5.1 32-bit y n y n y y y
AIX-5.1 64-bit y n y n y y y
WinXP (6) y n y n n y y
WinXP Intel y n y n n y y
Win2000 y n y n n y y
Win2000 Intel y n y n n y y
WinNT CW y n y n n y y
Mac OS X 10.2 y n y n y y n
FreeBSD y y y n y y y
Linux 2.4 gcc (3) y y y n y y y
Linux 2.4 Intel (3) y n y n y n n
Linux 2.4 PGI (3) y n y n y n n
Linux 2.4 IA32 Intel y n y n y y y
Linux 2.4 IA64 Intel y n y n y y y
Notes: (1) Using mpich 1.2.4.
(2) Using mpt and mpich 1.2.4.
(3) Linux 2.4 with GNU, Intel, and PGI compilers, respectively.
(4) Shared libraries are provided only for the C library, except
on Windows where they are provided for C and C++.
(5) Using mpt.
(6) Binaries only; source code for this platform is not being
released at this time.
(7) Includes the H4toH5 Library and the h4toh5 and h5toh4
utilities.
Compiler versions for each platform are listed in the preceding
"Platforms Tested" table.
Known Problems
==============
* Fortran subroutine h5pget_driver_f doesn't return a correct driver information.
The fix willl be available in the 1.6.2 release.
* There are two h5dump xml tests(h5dump --xml thlink.h5 and h5dump --xml tmany.h5)
failed on windows xp with .NET for debug and debug dll. Release and Release
dll work fine.
* The h5dump tests may fail to match the expected output on some platforms
(e.g. parallel jobs, 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 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.
* Before building HDF5 F90 Library from source on Crays
replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src
subdirectory in the top level directory with the Cray-specific files
from the site:
* On some platforms that use Intel 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)
ftp://hdf.ncsa.uiuc.edu/pub/outgoing/hdf5/hdf5-1.6.0/F90_source_for_Crays
* 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,"
UPDATE: This is now done automatically by the configure script. However, if
you still experience a problem, you may want to check this line in the
libtool file and make sure that it has the correct value.
* Information about building with PGI and Intel compilers is available in
INSTALL file sections 5.7 and 5.8
%%%%1.6.0%%%% Release Information for hdf5-1.6.0 (03/July/03)
14. Release information for HDF5 version 1.6.0
================================================
INTRODUCTION
This document describes the differences between HDF5-1.4.* and
HDF5-1.6.0, and contains information on the platforms tested and
known problems in HDF5-1.6.0. 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
- Support for new platforms and languages
- Bug Fixes since HDF5-1.4.0
- Platforms Tested
- Known Problems
New Features
============
Configuration:
--------------
The following flags have been added to the configuration script:
--enable-hdf5v1_4 Compile the HDF5 v1.4 compatibility interface
--enable-filters=all Turn on all internal I/O filters. One may also
specify a comma-separated list of filters or the
word no. The default is all internal I/O filters.
--with-mpe=DIR Use MPE instrumentation [default=no]
--with-szlib=DIR Use szlib library for external szlib I/O filter
[default=no]
Library:
--------
Summary: This release has the following new features that are not
available in 1.4.* releases
1. Generic properties to give application more control on I/O pipeline
2. Time allocation and fill value properties
3. New filters: external compression filter szip
internal shuffling and checksum filters
4. Compact storage layout for datasets
5. Redesigned I/O pipeline for better performance.
For more information see
http://hdf.ncsa.uiuc.edu/HDF5/doc_resource/SZIP/index.html
http://hdf.ncsa.uiuc.edu/HDF5/doc/ADGuide.html
http://hdf.ncsa.uiuc.edu/HDF5/doc/ADGuide/Changes.html
Complete list of changes:
* Changed dataset modification time to _not_ be updated when raw data is
written to a dataset. The modification time is only updated when the
dataset's metadata is modified. QAK - 2003/06/10
* Changed H5Sget_select_bounds to use 'hssize_t *' for start and end
parameters, instead of 'hsize_t *', to better match other parts of the
dataspace API. QAK - 2003/06/04
* Changed raw data I/O to only access each chunk once, improving performance
in many situations with hyperslabs and large chunks or chunks with
filters. These improvements are currently limited to serial I/O, with
similar parallel I/O improvements forthcoming sometime in the future.
QAK - 2003/05/07
* Added parameter to the MPI/POSIX driver. If GPFS is enabled (by
modifying the H5FDmpiposix.c file to uncomment the USE_GPFS_HINTS
macro), then this extra parameter will turn GPFS hints on and off
during runtime. BW - 2003/05/05
* Added option to print 1-byte integer datasets as ASCII to h5dump. BW -
2003/04/30
* Added a new utility "h5fc". It can be used to compile easily Fortran
programs which use HDF5. It automatically uses the compiler the HDF5
library was built with and links in any libraries HDF5 requires.
BW - 2003/04/10
* Added new dataset creation property list functions for working with
I/O filters: H5Pmodify_filter, H5Pget_filter_by_id and
H5Pall_filters_avail. Also changed H5Zregister to use new method
of registering filters with library. QAK - 2003/04/08
* The first version of szip compression support were implemented.
User should have static szlib library installed. Using function
H5Pset_szip to pass the szip parameters to the HDF5 library.
More detailed decription of the process will be followed.
KY-2003/04/01
* Added Fletcher32 checksum as a filter in pipeline. It only works in
chunked dataset. SLU - 2003/2/11
* MPICH/MPE instrumentation feature added. Use --with-mpe[=DIR] to configure
it. AKC - 2003/1/3
* New functions H5Gget_num_objs, H5Gget_objname_by_idx and H5Gget_objtype_by_idx
are added to the library. SLU - 2002/11/25
* H5Dget_offset is added to return the offset of a dataset's data relative
to the beginning of the file. SLU - 2002/11/7
* Functions H5Tget_native_type and H5Tis_variable_str are added. The first
one reconstructs a datatype based on native memory datatype. The second
one checks if a datatype is variable string. SLU - 2002/11/6
* Added environment variable "HDF5_DISABLE_VERSION_CHECK", which disables
the version checking between the header files and the library linked into
an application if set to '1'. This should be used with caution, mis-
matched headers and library binaries can cause _serious_ problems.
QAK - 2002/10/15
* Added new API function to get the name of an object in a file, using
an open ID (hid_t). QAK - 2002/10/14
* Added API functions to return pointer to low-level file handle
(H5Fget_vfd_handle and H5FDget_vfd_handle) and related property list
setting functions(H5Pset_family_offset and H5Pset_multi_type).
SLU - 2002/09/30
* Changed "H5P[set|get]_space_time" functions to "H5P[set|get]_alloc_time"
Unify all symbolic names for these functions to use "alloc time" instead
of other names. QAK - 2002/09/13
* Added "H5D_SPACE_ALLOC_INCR" setting to H5D_SPACE_ALLOC_EARLY and
H5D_SPACE_ALLOC_LATE for H5Dset_space_time(). This allows chunked
datasets to be incrementally allocated as in the 1.4.x branch.
QAK - 2002/08/27
* Compact dataset is added to the library. The data will be stored in
the header message of dataset layout. Space allocation time has to be
EARLY. No hyperslab is supported for parallel collective write. There
is no API changes except activating H5Pset_layout and H5Pget_layout for
compact dataset. -SLU, 2002/8/20
* Added 'closing' parameter to VFL 'flush' callback function and H5FDflush.
This allows the library to indicate that the file will be closed
immediately following the call to 'flush' and can be used to avoid actions
that are duplicated in the VFL 'close' callback function. QAK - 2002/05/20
* Added feature to parallel chunk allocation routine to not write fill
values to chunks allocated if the user has set the "fill time" to never.
This can improve parallel I/O performance for chunked
datasets. QAK - 2002/05/17
* New functions H5Glink2 and H5Gmove2 were added to allow link and move to
be in different locations in the same file. The old functions H5Glink
and H5Gmove remain valid. SLU - 2002/04/26
* Fill-value's behaviors for contiguous dataset have been redefined.
Basicly, dataset won't allocate space until it's necessary. Full details
are available at http://hdf.ncsa.uiuc.edu/RFC/Fill_Value, at this moment.
SLU - 2002/04/11
* Added new routine "H5Dfill" to fill a selection with a particular value
in memory. QAK - 2002/04/09
* Improved performance of "regular" hyperslab I/O when using MPI-IO and the
datatype conversion is unneccessary. QAK - 2002/04/02
* Improved performance of single hyperslab I/O when datatype conversion is
unneccessary. QAK - 2002/04/02
* Added new "H5Sget_select_type" API function to determine which type of
selection is defined for a dataspace ("all", "none", "hyperslab" or
"point"). QAK - 2002/02/07
* 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 - 2002/01/31
* Added H5Rget_obj_type() API function, which performs the same functionality
as H5Rget_object_type(), but requires the reference type as a parameter
in order to correctly handle dataset region references. Moved
H5Rget_object_type() to be only compiled into the library when v1.4
compatibility is enabled.
* Added a new file access property, file close degree, to control file
close behavior. It has four values, H5F_CLOSE_WEAK, H5F_CLOSE_SEMI,
H5F_CLOSE_STRONG, and H5F_CLOSE_DEFAULT. Two correspont functions
H5Pset_fclose_degree and H5Pget_fclose_degree are also provided. Two
new functions H5Fget_obj_count and H5Fget_obj_ids are offerted to assist
this new feature. For full details, please refer to the reference
manual under the description of H5Fcreate, H5Fopen, H5Fclose and the
functions mentioned above.
* Removed H5P(get|set)_hyper_cache API function, since the property is no
longer used.
* Improved performance of non-contiguous hyperslabs (built up with
several hyperslab selection calls).
* Improved performance of single, contiguous hyperslabs when reading or
writing.
* As part of the transition to using generic properties everywhere, the
parameter of H5Pcreate changed from H5P_class_t to hid_t, as well
the return type of H5Pget_class changed from H5P_class_t to hid_t.
Further changes are still necessary and will be documented here as they
are made.
* Improved regular hyperslab I/O by about a factor of 6 or so.
* Modified the Pablo build procedure to permit building of the instrumented
library to link either with the Trace libraries as before or with the
Pablo Performance Caputure Facility.
* Added new F90 APIs for generic properties, new filters, and
time/space allocation properties.
* C++ API:
- Added two new member functions: Exception::getFuncName() and
Exception::getCFuncName() to provide the name of the member
function, where an exception is thrown.
- IdComponent::operator= becomes a virtual function because
DataType, DataSpace, and PropList provide their own
implementation. The new operator= functions invoke H5Tcopy,
H5Scopy, and H5Pcopy to make a copy of a datatype, dataspace,
and property list, respectively.
Parallel Library:
-----------------
Tools:
------
* When the "-S" option for "simple" output is chosen, h5ls now displays
modification times of datasets in UTC instead of local time.
QAK - 2003/06/06
* h5diff to compare two HDF5 files was added
* h5import to import ascii and binary data to an HDF5 file was added.
Old h5import tool in the tools/misc directory was renamed to
h5createU8 to reflect its purpose. h5createU8 will be deleted in
1.6.1 release.
* Two new scripts h5fc and h5c++ were added to compile F90 and C++
HDF5 applications.
Support for new platforms, languages and compilers.
=======================================
* Added C++ API support on HPUX11.00. BMR - 2003/03/19
* Absoft compiler is supported for Fortran HDF5 Library.
When building with Absoft compiler, add -DH5_ABSOFT to
C compilation flags to get correct names of C functions
called by Fortran APIs.
Bug Fixes since HDF5-1.4.0 release
==================================
Library
-------
* Don't attempt to perform collective I/O on chunked datasets with
parallel I/O. QAK - 2003/06/05
* The library now correctly reuses space when objects are deleted in the
file. This should be handled correctly for every situation, except
datasets with variable-length datatypes are not returning the space they
use in the global heap currently. QAK - 2003/04/13
* Fixed error in B-tree deletion routine which could cause groups to be
corrupted when objects are removed from them.
QAK - 2003/04/11
* Fixed error in file space freeing code which could cause metadata to
fail to be written to the file.
QAK - 2003/04/11
* -O caused errors in AIX 5.x platforms. Removed it from
--enable-production mode. AKC - 2003/03/31
* Corrected memory/resource leaks in per-thread key information when
thread-safe operation was enabled. QAK - 2003/02/07
* Improved error assertion for nil VL strings, making it fails with error
stack instead of just assertion failure. SLU - 2002/12/16
* Added two new API functions: H5Zunregister & H5Zfilter_avail.
QAK - 2002/11/16
* Add data shuffle filter(source code H5Zshuffle.c), the combination of the
shuffling and compression can make data compression better without suffering
much encoding and decoding CPU time for many application datasets(especially
for floating point data). This adds a new API function: H5Pset_shuffle.
KY - 2002/11/13
* Allow scalar dataspaces to be used for parallel I/O. QAK - 2002/11/05
* New functions H5Gget_comment(modification), H5Aget_storage_size,
H5Arename. SLU - 2002/10/29
* Fixed an assertion of H5S_select_iterate that did not account for scalar
type that has no dimension sizes. AKC - 2002/10/15
* Partially fixed space allocation inefficiencies in the file by
improving our algorithms for re-using freed space. QAK - 2002/08/27
* Fixed data corruption problem which could occur when fill values were
written to a contiguously stored dataset in parallel. QAK - 2002/08/27
* Fixed VL memory leak when data is overwritten. The heap objects holding
old data are freed. If the fill value writting time is set to
H5D_FILL_TIME_NEVER, the library prohibits user to create VL type dataset.
The library free all the heap objects storing VL type if there is nested
VL type(a VL type contains another VL type). SLU - 2002/07/10
* Tweaked a few API functions to use 'size_t' instead of 'unsigned' or
'hsize_t', which may cause errors in some cases.
Configuration
-------------
* Included the both the examples of fortran and c++ "make check-install"
testing. This tests the correctness of the h5fc command. AKC - 2003/04/22
* When using gcc 3.x, we use -std=c99 instead of -ansi for compiling.
QAK - 2003/04/11
* IA64 platform has its own configure setting and use Intel Compilers as
the default compilers (were gcc and pgf90 before.) This also eliminated
the segmentation fault in the fortran test. The missing reference of
"exit" is fixed too. AKC - 2003/04/02
Performance
-------------
* Improved dataset creation time by about 30% (relative to the 1.4.x
branch).
Tools
-----
* Added a -force option to h5redeploy. AKC - 2003/03/04
* The VL string bug(data and datatype cannot be shown) in h5dump is fixed.
-SLU - 2002/11/18
* Fixed segfault if h5dump was invoked with some options but no file
(e.g., h5dump -H). -AKC, 2002/10/15
* Fixed so that the "-i" flag works correctly with the h5dumper.
* Fixed segfault when "-v" flag was used with the h5dumper.
Documentation
-------------
Platforms Tested
================
AIX 5.1 (32 and 64-bit) xlc 6.0.0.2
xlf 8.1.0.3
xlC 6.0.0.4
xlc 5.0.2.5
xlf 7.1.1.2
xlC 5.0.2.5
mpcc_r 5.0.2.5
mpxlf_r 7.1.1.2
poe 3.2.0.10
Cray T3E sn6606 2.0.6.08 Cray Standard C Version 6.6.0.2
Cray Fortran Version 3.6.0.0.2
mpt 2.2.0.0
Cray SV1 sn9617 10.0.1.2 Cray Standard C Version 6.6.0.2
mpt 2.2.0.0
Cray Fortran Version 3.6.0.0.2
Cray T90IEEE 10.0.1.01y Cray Standard C Version 6.4.0.2.3
Cray Fortran Version 3.4.0.3
mpt 2.1.0.0
FreeBSD 4.7 gcc 2.95.4
g++ 2.95.5
HP-UX B.11.00 HP C HP92453-01 A.11.01.20
HP F90 v2.4
HP ANSI C++ B3910B A.03.13
MPIch 1.2.4
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)
MPIch 1.2.4
Linux 2.4.18 gcc 2.96, 3.2.2, 3.2.3
g++ 3.2.2, 3.2.3
Intel(R) C++ Version 7.1
Intel(R) Fortran Compiler Version 7.1
PGI compilers (pgcc, pgf90, pgCC) version 4.0-2
MPIch 1.2.4
OSF1 V5.1 Compaq C V6.4-014
Compaq C V6.3-027
Compaq Fortran V5.5-1877
Compaq C++ V6.5-014
MPI_64bit_R5
g++ 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 2 C 5.3
(Solaris 2.8) Sun WorkShop 6 update 2 Fortran 90
Sun WorkShop 6 update 2 C++ 5.3
SunOS 5.8/64 Sun WorkShop 6 update 2 C 5.3
(Solaris 2.8) Sun WorkShop 6 update 2 Fortran 90
Sun WorkShop 6 update 2 C++ 5.3
TFLOPS r1.0.4 v4.3.3 i386 pgcc Rel 3.1-4i with mpich-1.2.4 with
local modifications
IA-32 Linux 2.4.9 gcc 2.96
Intel(R) C++ Version 7.0
Intel(R) Fortran Compiler Version 7.0
IA-64 Linux 2.4.16 ia64 gcc version 2.96 20000731
Intel(R) C++ Version 7.0
Intel(R) Fortran Compiler Version 7.0
Windows 2000 (NT5.0) MSVC++ 6.0
DEC Visual Fortran 6.0
Intel C and F90 compilers version 7.1
Code Warrior 8.0
Windows XP MSVC++.NET
MAC OS X Darwin 6.5
gcc and g++ Apple Computer, Inc. GCC
version 1161, based on gcc version 3.1
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
dna = does not apply
( ) = footnote appears below second table
Platform C C F90 F90 C++ Shared zlib
parallel parallel libraries (4)
Solaris2.7 64-bit y y (1) y y (1) y y y
Solaris2.7 32-bit y y (1) y y (1) y y y
Solaris2.8 64-bit y y (1) y y (1) y y y
Solaris2.8 32-bit y y y y (1) y y y
IRIX6.5 y y (1) n n n y y
IRIX64_6.5 64-bit y y (2) y y y y y
IRIX64_6.5 32-bit y y (2) n n n y y
HPUX11.00 y y (1) y y y y y
OSF1 v5.1 y y y y y y y
T3E y y (5) y y (5) n n y
SV1 y y (5) y y (5) n n y
T90 IEEE y y (5) y y (5) n n y
TFLOPS n y (1) n n n n y
AIX-5.1 32-bit y y y y y n y
AIX-5.1 64-bit y y y y y n y
WinXP (6) y n n n y y y
WinXP Intel y n n n y y y
Win2000 y n y n y y y
Win2000 Intel y n y n y y y
WinNT CW y n n n n n y
Mac OS X 10.2 y n n n y y y
FreeBSD y y (1) n n y y y
Linux 2.4 gcc (3) y y (1) y (PGI) n y y y
Linux 2.4 Intel (3) y n y n y n y
Linux 2.4 PGI (3) y n y n y n y
Linux 2.4 IA32 Intel y n y n y n y
Linux 2.4 IA64 Intel y n y n y n y
ASCII Table 2 -- for RELEASE.txt
Platform static- Thread- SZIP GASS STREAM- High-level H4/H5
exec safe VFD APIs tools (7)
Solaris2.7 64-bit x y y n y y n
Solaris2.7 32-bit x y y n y y y
Solaris2.8 64-bit x y y n y y n
Solaris2.8 32-bit x y y n y y y
IRIX6.5 x n y n y y y
IRIX64_6.5 64-bit x y y y y y y
IRIX64_6.5 32-bit x y y y y y y
HPUX11.00 x n y n y y y
OSF1 v5.1 y n y n y y y
T3E y n n n y y y
SV1 y n n n y y y
T90 IEEE y n n n y y n
TFLOPS y n n n n n n
AIX-5.1 32-bit y n y n y y y
AIX-5.1 64-bit y n y n y y y
WinXP (6) y n y n n y y
WinXP Intel y n y n n y y
Win2000 y n y n n y y
Win2000 Intel y n y n n y y
WinNT CW y n y n n y y
Mac OS X 10.2 y n y n y y n
FreeBSD y y y n y y y
Linux 2.4 gcc (3) y y y n y y y
Linux 2.4 Intel (3) y n y n y n n
Linux 2.4 PGI (3) y n y n y n n
Linux 2.4 IA32 Intel y n y n y y y
Linux 2.4 IA64 Intel y n y n y y y
Notes: (1) Using mpich 1.2.4.
(2) Using mpt and mpich 1.2.4.
(3) Linux 2.4 with GNU, Intel, and PGI compilers, respectively.
(4) Shared libraries are provided only for the C library, except
on Windows where they are provided for C and C++.
(5) Using mpt.
(6) Binaries only; source code for this platform is not being
released at this time.
(7) Includes the H4toH5 Library and the h4toh5 and h5toh4
utilities.
Compiler versions for each platform are listed in the preceding
"Platforms Tested" table.
Known Problems
==============
* PGI C++ compiler fails when compiling the C++ library's tests.
Therefore, we cannot verify that the C++ library built with the PGI C++
compiler is correct.
* The h5dump tests may fail to match the expected output on some platforms
(e.g. parallel jobs, 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 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.
* Before building HDF5 F90 Library from source on Crays
replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src
subdirectory in the top level directory with the Cray-specific files
from the site:
* On some platforms that use Intel 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)
ftp://hdf.ncsa.uiuc.edu/pub/outgoing/hdf5/hdf5-1.6.0/F90_source_for_Crays
* 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,"
UPDATE: This is now done automatically by the configure script. However, if
you still experience a problem, you may want to check this line in the
libtool file and make sure that it has the correct value.
* Information about building with PGI and Intel compilers is available in
INSTALL file sections 5.7 and 5.8
-----------------------------------------------------------------------
%%%%1.4.5%%%% Release Information for hdf5-1.4.5 (02/February/03)
13. Release information for HDF5 version 1.4.5
==============================================================================
INTRODUCTION
This document describes the differences between HDF5-1.4.4 and
HDF5-1.4.5, and contains information on the platforms tested and
known problems in HDF5-1.4.5. For additional information 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, see 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.4
- Performance Improvements
- Documentation
- Platforms Tested
- Supported Configuration Features
- Known Problems
New Features
============
o Configuration
================
* Added "unofficial support" for building with a C++ compiler (or at least
not failing badly when building with a C++ compiler). QAK - 2003/01/09
* Added "unofficial support" for AIX 64bits. See INSTALL for configure
details. AKC - 2002/08/29
* Added "--with-dmalloc" flag, to easily enable support for the 'dmalloc'
debugging malloc implementation. QAK - 2002/07/15
o Library
=========
o General
---------
* Allow scalar dataspaces to be used for parallel I/O. QAK - 2002/11/05
* Added environment variable "HDF5_DISABLE_VERSION_CHECK", which disables
the version checking between the header files and the library linked
into an application if set to '1'. This should be used with caution,
mis-matched headers and library binaries can cause _serious_ problems.
QAK - 2002/10/15
* Partially fixed space allocation inefficiencies in the file by
improving our algorithms for re-using freed space. QAK - 2002/08/27
* API tracing has been improved. Nested API calls don't screw up the
output format; function call and return event times can be logged;
total time spent in each function can be logged. The following
HDF5_DEBUG environment variable words affect tracing:
trace -- turn on/off basic tracing
ttimes -- turn on tracing and report event times and
time spent in each API function.
ttop -- turn on tracing but display only top-level
API calls.
o APIs
------
* Several missing fortran APIs have been added to the library:
h5get_libversion_f h5tget_member_index_f h5dget_storage_size_f
h5check_version_f h5tvlen_create_f h5dvlen_get_max_len_f
h5garbage_collect_f h5dwrite_vl_f
h5dont_atexit_f h5dread_vl_f
Functions h5dvlen_get_max_len_f, h5dwrite_vl_f, and h5dread_vl_f support
VL Length C APIs functionality for integer, real and string datatypes.
See HDF5 Reference Manual and HDF5 FORTRAN90 User's Notes for more
information and for the functions description.
o Parallel library
==================
* The MPI-posix virtual file driver makes gpfs_fcntl() hints to tell
the underlying GPFS file system to avoid prefetching byte range
tokens if USE_GPFS_HINTS is defined when this file is compiled.
This temporary solution is intended to be removed once the HDF5
API supports the necessary functionality that makes it possible
for this sort of thing do be done at a higher software layer.
RPM - 2002/12/03
* Added MPI-posix VFL driver. This VFL driver uses MPI functions to
coordinate actions, but performs I/O directly with POSIX sec(2)
(i.e. open/close/read/write/etc.) calls. This driver should _NOT_
be used to access files that are not on a parallel filesystem.
The following API functions were added:
herr_t H5Pset_fapl_mpiposix(hid_t fapl_id, MPI_Comm comm);
herr_t H5Pget_fapl_mpiposix(hid_t fapl_id, MPI_Comm *comm/*out*/);
QAK - 2002/07/15
o Support for new platforms and languages
=========================================
* C++ API now works on the Origin2000 (IRIX6.5.14.) BMR - 2002/11/14
o Misc.
=========================================
HDF5 1.4.5 works with Portland Group Compilers (pgcc, pgf90 and pgCC
version 4.0-2) on Linux 2.4
Bug Fixes since HDF5-1.4.4 Release
==================================
* H5Fopen without the H5F_ACC_CREAT flag should not succeed in creating
a new file with the 'core' VFL driver. QAK - 2003/01/24
* Corrected metadata caching bug in parallel I/O which could cause hangs
when chunked datasets were accessed with independent transfer mode.
QAK - 2003/01/23
* Allow opening objects with unknown object header messages.
QAK - 2003/01/21
* Added improved error assertion for nil VL strings. It return error
stack instead of a simple assertion. SLU - 2002/12/16
* Fixed h5dump bug(cannot dump data and datatype) for VL string.
SLU - 2002/11/18
* Fixed error condition where "none" selections were not being handled
correctly in serial & parallel. QAK - 2002/10/29
* Fixed problem where optimized hyperslab routines were incorrectly
invoked for parallel I/O operations in collective mode. QAK - 2002/07/22
* Fixed metadata corruption problem which could occur when many objects
are created in a file during parallel I/O. QAK - 2002/07/19
* Fixed minor problem with configuration when users specified /usr/include
and /usr/lib for the --with-* options that some compilers can't
handle. BW - 2003/01/23
Documentation
=============
New PDF files are not available for this release.
Platforms Tested
================
AIX 5.1 (32 and 64-bit) C for AIX Compiler, Version 6
xlf 8.1.0.2
poe 3.2.0.11
Cray T3E sn6606 2.0.6.08 Cray Standard C Version 6.6.0.1.3
Cray Fortran Version 3.6.0.0.12
Cray SV1 10.0.1. 0 Cray Standard C Version 6.6.0.1.3
Cray Fortran Version 3.6.0.0.12
Cray T90IEEE 10.0.1.01u Cray Standard C Version 6.4.0.2.3
Cray Fortran Version 3.4.0.3
FreeBSD 4.7 gcc 2.95.4
g++ 2.95.5
HP-UX B.11.00 HP C HP92453-01 A.11.01.20
HP F90 v2.4
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.18 gcc 3.2.1
g++ 3.2.1
Intel(R) C++ Version 6.0
Intel(R) Fortran Compiler Version 6.0
PGI compilers (pgcc, pgf90, pgCC) version 4.0-2
pgf90 3.2-4
OSF1 V5.1 Compaq C V6.4-014
Compaq Fortran X5.4A-1684
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.3.3 i386 pgcc Rel 3.1-4i with mpich-1.2.4 with
local modifications
IA-32 Linux 2.4.9 gcc 2.96
Intel(R) C++ Version 7.0
Intel(R) Fortran Compiler Version 7.0
IA-64 Linux 2.4.16 ia64 gcc version 2.96 20000731
Intel(R) C++ Version 7.0
Intel(R) Fortran Compiler Version 7.0
Windows 2000 (NT5.0) MSVC++ 6.0
DEC Visual Fortran 6.0
Windows XP .NET
Windows NT4.0 Code Warrior 6.0
MAC OS X Darwin 6.2
gcc and g++ Apple Computer, Inc. GCC
version 1161, based on gcc version 3.1
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
dna = does not apply
( ) = footnote appears below second table
Platform C C F90 F90 C++ Shared zlib
parallel parallel libraries (5)
Solaris2.6 y n y n y y y
Solaris2.7 64-bit y y (1) y y (1) y y y
Solaris2.7 32-bit y y (1) y y (1) y y y
Solaris2.8 64-bit y n y y (1) y y y
Solaris2.8 32-bit y n y y (1) y y y
IRIX6.5 y y (1) n n n y y
IRIX64_6.5 64-bit y y (2) y y y y y
IRIX64_6.5 32-bit y y (2) n n n y y
HPUX11.00 y y (1) y n n y y
OSF1 v5.1 y n y n y y y
T3E (6) y n y n n n y
SV1 y n y n n n y
T90 IEEE y n y n n n y
TFLOPS n y (1) n n n n y
AIX-5.1 32-bit y y y y y n y
AIX-5.1 64-bit y y y y y n y
WinXP (7) y n n n y y y
WinNT/2000 y n y n y y y
WinNT CW y n n n n n y
Mac OS X 10.2 y n n n y y y
FreeBSD y y (1) n n y y y
Linux 2.2 y y (1) y y (1) y y y
Linux 2.4 gcc (3) y y (1) y n y y y
Linux 2.4 Intel (3) y n y n n n y
Linux 2.4 PGI (3) y n y n y n y
Linux 2.4 IA32 y n y n n n y
Linux 2.4 IA64 y n y n n n y
Platform static- Thread- SRB GASS STREAM-
exec safe VFD
Solaris2.6 x y n n y
Solaris2.7 64-bit x y n n y
Solaris2.7 32-bit x y n n y
Solaris2.8 64-bit x n n n y
Solaris2.8 32-bit x y n n y
IRIX6.5 x n n n y
IRIX64_6.5 64-bit x y n y y
IRIX64_6.5 32-bit x y n y y
HPUX11.00 x n n n y
OSF1 v5.1 y n n n y
T3E (6) y n n n y
SV1 y n n n y
T90 IEEE y n n n y
TFLOPS y n n n n
AIX-5.1 32-bit y n n n y
AIX-5.1 64-bit y n n n y
WinXP (7) dna n n n n
WinNT/2000 dna n n n n
WinNT CW dna n n n n
Mac OS X 10.2 y n n n y
FreeBSD y y n n y
Linux 2.2 y y n n y
Linux 2.4 gcc (3) y y n n y
Linux 2.4 Intel (3) y n n n y
Linux 2.4 PGI (3) y n n n y
Linux 2.4 IA32 y n n n y
Linux 2.4 IA64 y n n n y
Notes: (1) Using mpich 1.2.4.
(2) Using mpt and mpich 1.2.4.
(3) Linux 2.4 with GNU, Intel, and PGI compilers.
(4) No HDF4-related tools.
(5) Shared libraries are provided only for the C library,
except on Windows where they are provided for all languages.
(6) Debug mode only.
(7) Binaries only; source code for this platform is not being
released at this time.
Known Problems
==============
* On Linux 2.4 IA64, Fortran test fails for h5dwrite_vl_f
for integer and real base datatypes.
* When fortran library is built with Intel compilers, compilation
for fflush1.f90, fflush2.f90 and fortanlib_test.f90 will fail
complaining about EXEC function. Comment the call to EXEC subroutine
in each program, or get a patch for the HDF5 Fortran source code.
* Fortran external dataset test fails on Linux 2.4 with pgf90 compiler.
* On Windows, h5dump may abort printing if a VL string is longer than 4096
bytes due to a compiler problem. It'll be fixed in v1.6 release.
* Datasets or attributes which have a variable-length string datatype are
not printing correctly with h5dump and h5ls.
* When a dataset with the variable-length 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 on 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 executables are always dynamic on Solaris 2.7 ans 2.8(64 and n32)
even if they are 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 the environment
variable HDF5_MPI_OPT_TYPES to a non-zero value such as 1.
* On OSF1 v5.1 and IA32 h5dumpgentst program that generates test files
for h5dump, gives segmentation fault.
* On Windows platforms, C and Fortran tests fail with the debug DLL version
of the Library if built from all_withf90.zip file.
* On Cray T3E (sn6606 2.0.6.08 unicosmk CRAY T3E) with Cray Standard C Version 6.6.0.1.3
compiler optimization causes errors in many HDF5 Library tests. Use -g -h zero flags
to build HDF5 Library.
* On Cray SV1 10.0.1. 0 datatype convertion test fails. Please check HDF FTP site
if patch is available. We will try to provide one in the nearest future.
* For configuration, building and testing with Intel and PGI compilers see
corresponding section in INSTALL file.
%%%%1.4.4%%%% Release Information for hdf5-1.4.4 (02/July/02)
12. Release information for HDF5 version 1.4.4
==============================================================================
INTRODUCTION
This document describes the differences between HDF5-1.4.3 and
HDF5-1.4.4, and contains information on the platforms tested and
known problems in HDF5-1.4.4. 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, see 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 have been 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 forward-compatibility with release 1.5 was added. SLU -
2002/04/11
* A new query function H5Tget_member_index has been added for compound
and enumeration data types. This function retrieves a 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
------
* The F90 subroutines h5dwrite_f, h5dread_f, h5awrite_f, and h5aread_f
were overloaded with a "dims" argument of type INTEGER(HSIZE_T) to
specify the size of the array. We recommend using these subroutines
with the new type; module subroutines that accept "dims" as an i
INTEGER array of size 7 will be deprecated in release 1.6.
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
types is preferred or not. This can affect performance, depending on
which way the MPI-I/O library is optimized. 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 them 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.
This should result in some performance improvement for those types of
selections. QAK - 2002/06/18
* Changed 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
* Allowed 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
* Allowed the metadata writes to be shared among all processes, easing the
burden on process 0. QAK - 2002/05/10
o Tools
=======
* h5redeploy utility was added. It updates HDF5 compiler tools
after the HDF5 software has been installed in a new location.
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 has been moved out of the Windows source release. Users should go to
the ZLIB homepage(http://www.zlib.org) to download the corresponding
zlib library.
* The Windows binary release is built with the old version of the zlib
library. We expect users to use zlib 1.1.4 to build with the source
release.
* In the Windows-specific 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 to be 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 as 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
* 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 did not behave as a
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; we will look into the issue to see if it is possible to
address it.
Documentation
=============
* Documentation was updated for the hdf5-1.4.4 release.
* A new "HDF5 User's Guide" is under development. See
http://hdf.ncsa.uiuc.edu/HDF5/doc_dev_snapshot/H5_NewUG/current/.
* A "Parallel HDF5 Tutorial" is available at
http://hdf.ncsa.uiuc.edu/HDF5/doc/Tutor/.
* The "HDF5 Tutorial" is not distributed with this release. It 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)
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.6 y n y n y y y y
Solaris2.7 64 y y (1) y n y y y y
Solaris2.7 32 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
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 n32 y y (2) n n n y y y
HPUX10.20 y n y n n y y y
HPUX11.00 y n y n n y y y
HPUX11 SysV y y y y n y y y
OSF1 v5.1 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 y y y y y n y y
AIX-5.1 y y y y n n y y
WinNT/2000 y n y n y 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
Linux 2.4 Intel(6) y n y n y n y y
Linux 2.4 IA32 y n y n n n y y
Linux 2.4 IA64 y n y n n n y y
Platform 1.2 static- Thread- SRB GASS STREAM-
compatibility exec safe VFD
Solaris2.6 y x y n n y
Solaris2.7 64 y x y n n y
Solaris2.7 32 y x y n n y
Solaris2.8 64 y y n n n y
Solaris2.8 32 y x y n n y
IRIX6.5 y x n n n y
IRIX64_6.5 64 y x y n y y
IRIX64_6.5 n32 y x y n y y
HPUX10.20 y y n n n y
HPUX11.00 y x n n n y
HPUX11 SysV y x n n n y
OSF1 v5.1 y y n n n y
T3E y y n n n y
SV1 y y n n n y
TFLOPS y y n n n n
AIX-4.3 y y (3) n n n y
AIX-5.1 y y n n n y
WinNT/2000 y y n n n n
WinNT CW n n n n n n
FreeBSD y y y n n y
Linux 2.2 y y y n n y
Linux 2.4 y y y n n y
Linux 2.4 Intel(6) y y n n n y
Linux 2.4 IA32 y y n n n y
Linux 2.4 IA64 y y n 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,
except on Windows where they are provided for all languages.
(6) Linux 2.4 with Intel compilers.
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-length 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 on 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 the 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 the Fortran library using Intel compilers, one has to
x modify the source code in the fortran/src directory to remove the
!DEC and !MS compiler directives.
x The build will fail in the fortran/test directory and then in the
fortran/examples directory; to proceed, edit the work.pcl files in
those directories to contain two lines
work.pc
../src/work.pc
* To build the Fortran library on IA64 use
setenv CC "ecc -DIA64"
setenv F9X "efc -cl,work.pcl"
before running configure and see the steps described above.
%%%%1.4.3%%%% Release Information for hdf5-1.4.3 (18/Februaru/02)
11. Release information for HDF5 version 1.4.3
==============================================================================
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 (shared and static)
* 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,"
%%%%1.4.2%%%% Release Information for hdf5-1.4.2 (31/July/01)
10. Release Information for hdf5-1.4.2
=================================================================
INTRODUCTION
This document describes the differences between HDF5-1.4.1 and
HDF5-1.4.2, and contains information on the platforms tested and
known problems in HDF5-1.4.2.
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.1
- Documentation
- Platforms Tested
- Supported Configuration Features
- Known Problems
New Features
============
* File sizes greater than 2GB are now supported on Linux systems with
version 2.4.x or higher kernels.
* Added a global string variable H5_lib_vers_info_g which holds the
HDF5 library version information. This can be used to identify
an hdf5 library or hdf5 application binary.
Also added a verification of the consistency between H5_lib_vers_info_g
and other version information in the source code.
* Parallel HDF5 now runs on the HP V2500 and HP N4000 machines.
* F90 API:
- Added aditional parameter "dims" to the h5dread_f/h5dwrite_f and
h5aread_f/h5awrite_f subroutines. This parameter is a 1-D array
of size 7 and contains the sizes of the data buffer dimensions.
This change enables portability between Windows and UNIX platforms.
In previous versions of the F90 APIs, the data buffer parameters of
the above functions were declared as assumed-shape arrays, which
were passed to the C functions by a descriptor. There is no
portable means, however, of passing descriptors from F90 to C,
causing portability problems between Windows and UNIX and among
UNIX platforms. With this change, the data buffers are assumed-
size arrays, which can be portably passed to the C functions.
* F90 static library is available on Windows platforms.
See INSTALL_Windows_withF90.txt for details.
* F90 APIs are available on HPUX 11.00 and 10.20 and IBM SP platforms.
* H5 <-> GIF convertor has been added. This is available under
tools/gifconv. The convertor supports the ability to create animated
gifs as well.
* Verified correct operation of library on Solaris 2.8 in both 64-bit and
32-bit compilation modes. See INSTALL document for instructions on
compiling the distribution with 64-bit support.
* Added support for the Metrowerks Code Warrior compiler for Windows.
* For H4->H5 converter utility, added a new option to choose not to convert
HDF4 specified attributes(reference number, class) into HDF5 attributes.
* Added support chunking and compression in SDS and image in H4->H5 converter.
Currently HDF5 only supports gzip compression, so by default an HDF4 file
with any other compression method will be converted into an HDF5 file in
gzip compression.
* correct the order or reading HDF4 image array in H4->H5 conversion.
* Added new parallel hdf5 tests in t_mpi. The new test checks if the
filesystem or the MPI-IO can really handle greater than 2GB files.
If it fails, it prints information message only without failing the
test.
* Added a parallel HDF5 example examples/ph5example.c to illustrate
the basic way of using parallel HDF5.
* Added a new public macro, H5_VERS_INFO, which is a string holding
the HDF5 library version information. This string is also compiled
into all HDF5 binary code which helps to identify the version information
of the binary code. One may use the Unix strings command on the binary
file and looks for the pattern "HDF5 library version".
* Added new checking in H5check_version() to verify the five HDF5 version
information macros (H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE,
H5_VERS_SUBRELEASE and H5_VERS_INFO) are consistent.
Bug Fixes since HDF5-1.4.1 Release
==================================
* Fixed bug with non-zero userblock sizes causing raw data to not
write correctly.
* Fixed problems with Pablo build and linking with non-standard MPI I/O.
* Fixed build on Linux systems with --enable-static-exec flag. It now
works correctly.
* IMPORTANT: Fixed file metadata corruption bug which could cause
metadata data loss in certain situations.
* The allocation by alignment (H5Pset_alignment) feature code somehow
got dropped in some 1.3.x version. Re-implemented it with "new and
improved" algorithm. It keeps track of "wasted" file-fragment in
the free-list too.
* Removed limitation that the data transfer buffer size needed to be
set for datasets whose dimensions were too large for the 'all'
selection code to handle. Any size dimensioned datasets should be
handled correctly now.
* Changed behavior of H5Tget_member_type to correctly emulate HDF5 v1.2.x
when --enable-hdf5v1_2 configure flag is enabled.
* Added --enable-linux-lfs flag to allow more control over whether to
enable or disable large file support on Linux.
* Fixed various bugs releated to SDS dimensional scale conversions in H4->H5
converter.
* Fixed a bug to correctly convert HDF4 objects with fill value into HDF5.
* Fixed a bug of H5pubconf.h causing repeated definitions if it is included
more than once. hdf5.h now includes H5public.h which includes
H5pubconf.h. Applications should #include hdf5.h which handles multiple
inclusion correctly.
* Fixed H5FDmpio.h to be C++ friendly by making Parallel HDF5 API's to be
external to C++.
* Fixed a bug in H5FD_mpio_flush() that might result in negative file seek
if both MPIO and Split-file drivers are used together.
Documentation
=============
* The H5T_conv_t and H5T_cdata_t structures are now properly defined
in the H5Tregister entry in the "H5T" section of the "HDF5 Reference
Manual" and described in detail in section 12, "Data Conversions," in
the "Datatypes" chapter of the "HDF5 User's Guide."
* The new tools h52gif and gif2h5 have been added to the "Tools" section
of the Reference Manual.
* A "Freespace Management" section has been added to the "Performance"
chapter of the User's Guide.
* Several user-reported bugs have been fixed since Release 1.4.1.
* The "HDF5 Image and Palette Specification" (in the "HDF5 Application
Developer's Guide") has been heavily revised. Based on extensive user
feedback and input from visualization software developers, Version 1.2
of the image specification is substantially different from prior
versions.
Platforms Tested
================
AIX 4.3.3.0 (IBM SP powerpc) xlc 3.6.6.0
mpcc_r 3.6.6.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 2.4.0.14 (includes mpi)
Cray T3E sn6711 2.0.5.49a Cray Standard C Version 6.5.0.1
Cray SV1 10.0.0.2 Cray Standard C Version 6.5.0.1
Cray Fortran Version 3.5.0.1
FreeBSD 4.3 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
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 V4.0 DEC-V5.2-040 on Digital UNIX V4.0 (Rev 564)
Digital Fortran 90 V4.1-270
SunOS 5.6 WorkShop Compilers 5.0 98/12/15 C 5.0
(Solaris 2.6) WorkShop Compilers 5.0 98/10/25 FORTRAN 90
2.0 Patch 107356-04
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
2000/09/11
Sun WorkShop 6 update 1 C++ 5.2 2000/09/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
2000/09/11
Sun WorkShop 6 update 1 C++ 5.2 2000/09/11
TFLOPS r1.0.4 v4.0.7 i386 pgcc Rel 3.1-4i with mpich-1.2.1 with
local modifications
Windows 2000 (NT5.0) MSVC++ 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.6 y n y n y y y y
Solaris2.7 y y (1) y n y y y y
Solaris2.8 64 y n n n y y y y
Solaris2.8 32 y n y n y y 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 n y n n y y y
HPUX11 SysV y n y n n y y y
DECOSF y n y n n 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 n n y n
Win2000 y n n n n y y y
Win98 y n y n n y y y
WinNT y n y n n 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.6 y x n n n y
Solaris2.7 y x y n n y
Solaris2.8 64 y y n n n y
Solaris2.8 32 y x n n n y
IRIX6.5 y x y n n y
IRIX64_6.5 64 y x n n n y
IRIX64_6.5 32 y x n n n y
HPUX10.20 y y n n n y
HPUX11.00 y x n n n y
HPUX11 SysV y x n n n y
DECOSF y y n n n y
T3E y y n n n y
SV1 y y n n n y
TFLOPS y y n n n n
AIX-4.3 SP2 y y (3) n n n y
AIX-4.3 SP3 y y n n n y
Win2000 y y n n n n
Win98 n y n n n n
WinNT y y n n n n
WinNT CW n n n n n n
FreeBSD y y n n n y
Linux 2.2 y y y n n y
Linux 2.4 y 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.
Known Problems
==============
* 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.
* For 24-bit image conversion from H4->H5, the current conversion is
not consistent with HDF5 image specification.
* In some cases, and SDS with an UNLIMITED dimension that has not
been written (current size = 0) is not converted correctly.
* After "make install" or "make install-doc" one may need to reload
the source from the tar file before doing another build.
* 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.
%%%%1.4.1%%%% Release Information for hdf5-1.4.1 (April/01)
9. Release Information for hdf5-1.4.1 (April/01)
=====================================================================
HDF5 Release 1.4.1
INTRODUCTION
This document describes the differences between HDF5-1.4.0 and
HDF5-1.4.1, and contains information on the platforms tested and
known problems in HDF5-1.4.1.
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.0
- Documentation
- Platforms Tested
- Supported Configuration Features
- Known Problems
New Features
============
* XML output option for h5dump utility.
A new option --xml to output data in XML format has been added. The
XML output contains a complete description of the file, marked up in
XML.
The XML conforms to the HDF5 Document Type Definition (DTD), which
is available at:
http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.dtd
The XML output is suitable for use with other tools, including the
Java Tools:
http://hdf.ncsa.uiuc.edu/java-hdf5-html
Bug Fixes since HDF5-1.4.0 Release
==================================
* h4toh5 utility: conversion of images is fixed
Earlier releases of the h4toh5 utility produced images that did not
correctly conform to the HDF5 Image and Palette Specification.
http://hdf.ncsa.uiuc.edu/HDF5/doc/ImageSpec.html
Several required HDF5 attributes are omitted, and the dataspace
is reversed (i.e., the ht. and width of the image dataset is
incorrectly described.) For more information, please see:
http://hdf.ncsa.uiuc.edu/HDF5/H5Image/ImageDetails.htm
* Fixed bug with contiguous hyperslabs not being detected, causing
slower I/O than necessary.
* Fixed bug where non-aligned hyperslab I/O on chunked datasets was
causing errors during I/O
* The RCSID string in H5public.h was causing the C++ compiling problem
because when it was included multiple times, C++ did not like
multiple definitions of the same static variable. All occurance of
RCSID definition are removed since we have not used it consistently
before.
Documentation
=============
PDF and Postscript versions of the following documents are available
for this release:
Document Filename
-------- --------
Introduction to HDF5 H5-R141-Introduction.pdf
HDF5 Reference Manual H5-R141-RefManual.pdf
C++ APIs to HDF5 documents H5-R141-Cplusplus.pdf
Fortran90 APIs to HDF5 documents H5-R141-Fortran90.pdf
PDF and Postscript files containing H5-R141-DocSet.pdf
all of the above H5-R141-DocSet.ps
These files are not included in this distribution, but are available
via the Web or FTP at the following locations:
http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/
ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/docs/
While these documents are labeled Release 1.4.1, they describe
Release 1.4.0 as well.
Platforms Tested
================
Due to the nature of this release only C, C++ libraries and tools were tested.
AIX 4.3.3.0 (IBM SP powerpc) xlc 3.6.6
mpcc_r 3.6.6
Cray T3E sn6711 2.0.5.47 Cray Standard C Version 6.5.0.0
Cray SV1 10.0.0.8 Cray Standard C Version 6.5.0.0
FreeBSD 4.3 gcc 2.95.2
HP-UX B.10.20 HP C HP92453-01 A.10.32.30
HP-UX B.11.00 HP C HP92453-01 A.11.01.20
IRIX 6.5 MIPSpro cc 7.30
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m
Linux 2.2.18smp gcc-2.95.2
g++ 2.95.2
OSF1 V4.0 DEC-V5.2-040
Digital Fortran 90 V4.1-270
SunOS 5.6 WorkShop Compilers 5.0 98/12/15 C 5.0
(Solaris 2.6)
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
TFLOPS r1.0.4 v4.0 mpich-1.2.1 with local changes
Windows NT4.0, 2000 (NT5.0) MSVC++ 6.0
Windows 98 MSVC++ 6.0
Supported Configuration Features Summary
========================================
* See "Supported Configuration Features Summary" section for the HDF5
1.4.0 release in the HISTORY.txt file.
Known Problems
==============
* 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 executable are always dynamic on IRIX64 6.5(64 and n32) and
IRIX 6.5 even if they are configured with --enable-static-exec.
* The shared library failed compilation on IRIX 6.5.
* After "make install" or "make install-doc" one may need to reload the source
from the tar file before doing another build.
* See "Known problems" section for the HDF5 1.4.0 release in the
HISTORY.txt file.
%%%%1.4.0%%%% Release Information for hdf5-1.4.0 (2/22/01)
8. Release Information for hdf5-1.4.0
===================================================================
HDF5 Release 1.4.0
INTRODUCTION
This document describes the differences between HDF5-1.2.0 and
HDF5-1.4.0, and contains information on the platforms tested and
known problems in HDF5-1.4.0. 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
- h4toh5 Utility
- F90 Support
- C++ Support
- Pablo Support
- Bug Fixes since HDF5-1.2.0
- Bug Fixes since HDF5-1.4.0-beta2
- Bug Fixes since HDF5-1.4.0
- Documentation
- Platforms Tested
- Supported Configuration Features
- Known Problems
New Features
============
* The Virtual File Layer, VFL, was added to replace the old file
drivers. It also provides an API for user defined file drivers.
* New features added to snapshots. Use 'snapshot help' to see a
complete list of features.
* Improved configure to detect if MPIO routines are available when
parallel mode is requested.
* Added Thread-Safe support. Phase I implemented. See:
http://hdf.ncsa.uiuc.edu/HDF5/papers/mthdf/MTHDFpaper.htm
for more details.
* Added data sieve buffering to raw data I/O path. This is enabled
for all VFL drivers except the mpio & core drivers. Setting the
sieve buffer size is controlled with the new API function,
H5Pset_sieve_buf_size(), and retrieved with H5Pget_sieve_buf_size().
* Added new Virtual File Driver, Stream VFD, to send/receive entire
HDF5 files via socket connections.
* As parts of VFL, HDF-GASS and HDF-SRB are also added to this
release. To find out details, please read INSTALL_VFL file.
* Increased maximum number of dimensions for a dataset (H5S_MAX_RANK)
from 31 to 32 to align with HDF4 & netCDF.
* Added 'query' function to VFL drivers. Also added 'type' parameter to
VFL 'read' & 'write' calls, so they are aware of the type of data
being accessed in the file. Updated the VFL document also.
* A new h4toh5 utility, to convert HDF4 files to analogous HDF5 files.
* Added a new array datatype to the datatypes which can be created.
Removed "array fields" from compound datatypes (use an array datatype
instead).
* Parallel HDF5 works correctly with mpich-1.2.1 on Solaris, SGI, Linux.
* You can now install the HDF5 documentation using the
``make install-doc'' command. The documentation is installed in the
$(prefix)/doc directory where $(prefix) is the prefix specified by
the (optional) ``--prefix'' flag during configuration.
* HDF5 can operate correctly in the OpenMP environment in a limited way.
Check doc/html/TechNotes/openmp-hdf5.html for details.
h4toh5 Utility
==============
The h4toh5 utility is a new utility that converts an HDF4 file to an
HDF5 file. For details, see the document, "Mapping HDF4 Objects to
HDF5 Objects":
http://hdf.ncsa.uiuc.edu/HDF5/papers/H4-H5MappingGuidelines.pdf
Known Bugs:
The h4toh5 utility produces images that do not correctly conform
to the HDF5 Image and Palette Specification.
http://hdf.ncsa.uiuc.edu/HDF5/doc/ImageSpec.html
Several required HDF5 attributes are omitted, and the dataspace
is reversed (i.e., the ht. and width of the image dataset is
incorrectly described.) For more information, please see:
http://hdf.ncsa.uiuc.edu/HDF5/H5Image/ImageDetails.html
This bug has been fixed for the snapshot of hdf5 1.4 release. March 12th,2001
Known Limitations of the h4toh5 release
---------------------------------------------
1. Error handlings
h4toh5 utility will print out an error message when an error occurs.
2. String Datatype
HDF4 has no 'string' type. String valued data are usually defined as
an array of 'char' in HDF4. The h4toh5 utility will generally map
these to HDF5 'String' types rather than array of char, with the
following additional rules:
* For the data of an HDF4 SDS, image, and palette, if the data is
declared 'DFNT_CHAR8' it will be assumed to be integer and will
be an H5T_INTEGER type.
* For attributes of any HDF4 object, data of type 'DFNT_CHAR8'
will be converted to an HDF5 'H5T_STRING' type.
* For an HDF4 Vdata, it is difficult to determine whether data
of type 'DFNT_CHAR8' is intended to be bytes or characters. The
h4toh5 utility will consider them to be C characters, and will
convert them to an HDF5 'H5T_STRING' type.
3. Compression, Chunking and External Storage
Chunking is supported, but compression and external storage is not.
An HDF4 object that uses chunking will be converted to an HDF5 file
with analogous chunked storage.
An HDF4 object that uses compression will be converted to an
uncompressed HDF5 object.
An HDF4 object that uses external storage will be converted to an
HDF5 object without external storage.
4. Memory Use
This version of the h4toh5 utility copies data from HDF4 objects
in a single read followed by a single write to the HDF5 object. For
large objects, this requires a very large amount of memory, which may
be extremely slow or fail on some platforms.
Note that a dataset that has only been partly written will
be read completely, including uninitialized data, and all the
data will be written to the HDF5 object.
5. Platforms
The h4toh5 utility requires HDF5-1.4.0 and HDF4r1.4
h4toh5 utility has been tested on all platforms listed below (see
section "Platforms Tested") except TFLOPS.
F90 Support
===========
This is the first release of the HDF5 Library with fully integrated
F90 API support. The Fortran Library is created when the
--enable-fortran flag is specified during configuration.
Not all F90 subroutines are implemented. Please refer to the HDF5
Reference Manual for more details.
F90 APIs are available for the Solaris 2.6 and 2.7, Linux, DEC UNIX,
T3E, SV1 and O2K (64 bit option only) platforms. The Parallel version of
the HDF5 F90 Library is supported on the O2K and T3E platforms.
Changes since the last prototype release (July 2000)
----------------------------------------------------
* h5open_f and h5close_f must be called instead of h5init_types and
h5close_types.
* The following subroutines are no longer available:
h5pset_xfer_f
h5pget_xfer_f
h5pset_mpi_f
h5pget_mpi_f
h5pset_stdio_f
h5pget_stdio_f
h5pset_sec2_f
h5pget_sec2_f
h5pset_core_f
h5pget_core_f
h5pset_family_f
h5pget_family_f
* The following functions have been added:
h5pset_fapl_mpio_f
h5pget_fapl_mpio_f
h5pset_dxpl_mpio_f
h5pget_dxpl_mpio_f
* In the previous HDF5 F90 releases, the implementation of object
references and dataset region references was not portable. This
release introduces a portable implementation, but it also introduces
changes to the read/write APIs that handle references. If object or
dataset region references are written or read to/from an HDF5 file,
h5dwrite_f and h5dread_f must use the extra parameter, n, for the
buffer size:
h5dwrite(read)_f(dset_id, mem_type_id, buf, n, hdferr, &
^^^
mem_space_id, file_space_id, xfer_prp)
For other datatypes the APIs were not changed.
C++ Support
===========
This is the first release of the HDF5 Library with fully integrated
C++ API support. The HDF5 C++ library is built when the --enable-cxx
flag is specified during configuration.
Check the HDF5 Reference Manual for available C++ documentation.
C++ APIs are available for Solaris 2.6 and 2.7, Linux, and FreeBSD.
Pablo Support
=============
This version does not allow proper building of the Pablo-instrumented
version of the library. A version supporting the pablo build is
available on the Pablo Website at
www-pablo.cs.uiuc.edu/pub/Pablo.Release.5/HDFLibrary/hdf5_v1.4.tar.gz
Bug Fixes since HDF5-1.2.0
==========================
Library
-------
* The function H5Pset_mpi is renamed as H5Pset_fapl_mpio.
* Corrected a floating point number conversion error for the Cray J90
platform. The error did not convert the value 0.0 correctly.
* Error was fixed which was not allowing dataset region references to
have their regions retrieved correctly.
* Corrected a bug that caused non-parallel file drivers to fail in
the parallel version.
* Added internal free-lists to reduce memory required by the library
and H5garbage_collect API function
* Fixed error in H5Giterate which was not updating the "index"
parameter correctly.
* Fixed error in hyperslab iteration which was not walking through the
correct sequence of array elements if hyperslabs were staggered in a
certain pattern
* Fixed several other problems in hyperslab iteration code.
* Fixed another H5Giterate bug which was causes groups with large
numbers of objects in them to misbehave when the callback function
returned non-zero values.
* Changed return type of H5Aiterate and H5A_operator_t typedef to be
herr_t, to align them with the dataset and group iterator functions.
* Changed H5Screate_simple and H5Sset_extent_simple to not allow
dimensions of size 0 with out the same dimension being unlimited.
* QAK - 4/19/00 - Improved metadata hashing & caching algorithms to
avoid many hash flushes and also remove some redundant I/O when
moving metadata blocks in the file.
* The "struct(opt)" type conversion function which gets invoked for
certain compound datatype conversions was fixed for nested compound
types. This required a small change in the datatype conversion
function API.
* Re-wrote lots of the hyperslab code to speed it up quite a bit.
* Added bounded garbage collection for the free lists when they run
out of memory and also added H5set_free_list_limits API call to
allow users to put an upper limit on the amount of memory used for
free lists.
* Checked for non-existent or deleted objects when dereferencing one
with object or region references and disallow dereference.
* "Time" datatypes (H5T_UNIX_D*) were not being stored and retrieved
from object headers correctly, fixed now.
* Fixed H5Dread or H5Dwrite calls with H5FD_MPIO_COLLECTIVE requests
that may hang because not all processes are transfer the same amount
of data. (A.K.A. prematured collective return when zero amount data
requested.) Collective calls that may cause hanging is done via the
corresponding MPI-IO independent calls.
* If configure with --enable-debug=all, couple functions would issue
warning messages to "stderr" that the operation is expensive time-wise.
This messed up applications (like testings) that did not expect the
extra output. It is changed so that the warning will be printed only
if the corresponding Debug key is set.
Configuration
-------------
* The hdf5.h include file was fixed to allow the HDF5 Library to be
compiled with other libraries/applications that use GNU autoconf.
* Configuration for parallel HDF5 was improved. Configure now attempts
to link with libmpi.a and/or libmpio.a as the MPI libraries by
default. It also uses "mpirun" to launch MPI tests by default. It
tests to link MPIO routines during the configuration stage, rather
than failing later as before. One can just do "./configure
--enable-parallel" if the MPI library is in the system library.
* Added support for pthread library and thread-safe option.
* The libhdf5.settings file shows the correct machine byte-sex.
* Added option "--enable-stream-vfd" to configure w/o the Stream VFD.
For Solaris, added -lsocket to the LIBS list of libraries.
Tools
-----
* h5dump now accepts both short and long command-line parameters:
-h, --help Print a usage message and exit
-B, --bootblock Print the content of the boot block
-H, --header Print the header only; no data is displayed
-i, --object-ids Print the object ids
-V, --version Print version number and exit
-a P, --attribute=P Print the specified attribute
-d P, --dataset=P Print the specified dataset
-g P, --group=P Print the specified group and all members
-l P, --soft-link=P Print the value(s) of the specified soft link
-o F, --output=F Output raw data into file F
-t T, --datatype=T Print the specified named data type
-w #, --width=# Set the number of columns
P - is the full path from the root group to the object.
T - is the name of the data type.
F - is a filename.
# - is an integer greater than 1.
* A change from the old way command line parameters were interpreted
is that multiple attributes, datasets, groups, soft-links, and
object-ids cannot be specified with just one flag but you have to
use a flag with each object. I.e., instead of doing this:
h5dump -a /attr1 /attr2 foo.h5
do this:
h5dump -a /attr1 -a /attr2 foo.h5
The cases are similar for the other object types.
* h5dump correctly displays compound datatypes.
* Corrected an error in h5toh4 which did not convert the 32bits
int from HDF5 to HDF4 correctly for the T3E platform.
* h5dump correctly displays the committed copy of predefined types
correctly.
* Added an option, -V, to show the version information of h5dump.
* Fixed a core dumping bug of h5toh4 when executed on platforms like
TFLOPS.
* The test script for h5toh4 used to not able to detect the hdp
dumper command was not valid. It now detects and reports the
failure of hdp execution.
* Merged the tools with the 1.2.2 branch. Required adding new
macros, VERSION12 and VERSION13, used in conditional compilation.
Updated the Windows project files for the tools.
* h5dump displays opaque and bitfield data correctly.
* h5dump and h5ls can browse files created with the Stream VFD
(eg. "h5ls <hostname>:<port>").
* h5dump has a new feature "-o <filename>" which outputs the raw data
of the dataset into ascii text file <filename>.
* h5toh4 used to converts hdf5 strings type to hdf4 DFNT_INT8 type.
Corrected to produce hdf4 DFNT_CHAR type instead.
* h5dump and h5ls displays array data correctly.
Bug Fixes since HDF5-1.4.0-beta2
================================
* Fixed a bug in the conversion from a little endian double to a big
endian float in some special cases.
* Corrected configuration error which was not including compression
support correctly.
* Cleaned up lots of warnings.
* Changed a few h5dump command line switches and added long versions of
the switches.
* Changed parameters for H5Tconvert, H5Pset_bufer and H5Pget_buffer from
size_t to hsize_t
* Fixed fairly obscure bug in hyperslab I/O which could (in rare cases)
not copy all the data during a transfer.
* Removed ragged array code from library.
* F90 library and module files are installed properly now on all supported
platforms.
Bug Fixes since HDF5-1.4.0 Release
==================================
* Fixed bug with contiguous hyperslabs not being detected, causing
slower I/O than necessary.
* Fixed bug where non-aligned hyperslab I/O on chunked datasets was
causing errors during I/O
* Implemented XML support in h5dump.
Documentation
=============
* A new document summarizing the changes in the library leading up to
the current release has been added:
HDF5 Software Changes from Release to Release
This document is in the Application Developer's Guide and is of
particular interest to developers who must keep an application
synchronized with the library.
* The documentation for the Fortran90 and C++ APIs is linked to the
opening page of the Reference Manual. Fortran90 functions are
individually referenced from the corresponding C functions through-
out the Reference Manual.
* User's Guide and Reference Manual were updated to reflect changed
function syntax and to fix reported bugs.
* Functions that are new at this release were added to the Reference
Manual.
* Functions that have been removed from the library were removed from
the User's Guide and the Reference Manual.
* PostScript and PDF versions of the Release 1.4 document set are
not available at the time of Release 1.4.0.
Platforms Tested
================
AIX 4.3.3.0 (IBM SP powerpc) xlc 3.6.6
mpcc_r 3.6.6
Cray T3E sn6711 2.0.5.45 Cray Standard C Version 6.4.0.0
Cray Fortran Version 3.4.0.2
Cray SV1 sn9605 10.0.0.7 Cray Standard C Version 6.4.0.0
Cray Fortran Version 3.4.0.2
FreeBSD 4.2 gcc 2.95.2
g++ 2.95.2
HP-UX B.10.20 HP C HP92453-01 A.10.32.30
HP-UX B.11.00 HP C HP92453-01 A.11.00.13
IRIX 6.5 MIPSpro cc 7.30
mpich-1.2.1
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m
mpt.1.4.0.2
mpich-1.2.1
Linux 2.2.16-3smp gcc-2.95.2
g++ 2.95.2
pgf90 3.1-3
mpich-1.2.1
OSF1 V4.0 DEC-V5.2-040
Digital Fortran 90 V4.1-270
SunOS 5.6 WorkShop Compilers 5.0 98/12/15 C 5.0
(Solaris 2.6) WorkShop Compilers 5.0 99/10/25 Fortran 90
2.0 Patch 107356-04
Workshop Compilers 5.0 98/12/15 C++ 5.0
SunOS 5.7 WorkShop Compilers 5.0 98/12/15 C 5.0
(Solaris 2.7) WorkShop Compilers 5.0 99/10/25 Fortran 90
2.0 Patch 107356-04
Workshop Compilers 5.0 98/12/15 C++ 5.0
mpich-1.2.1
SunOS 5.5.1 gcc-2.7.2
(Solaris 2.5.1 (x86))
TFLOPS r1.0.4 v4.0 mpich-1.2.1 with local changes
Windows NT4.0, 2000 (NT5.0) MSVC++ 6.0
Windows 98 MSVC++ 6.0
Supported Configuration Features Summary
========================================
In the tables below
y = tested and supported
n = not supported or not working in this release
( ) = footnote appears below table
Platform C C F90 F90 C++ Shared zlib Tools
parallel parallel libraries
Solaris2.6 y n y n y y y y
Solaris2.7 y y (1) y n y y y y
Solarisx86 y n n n n y y y
IRIX6.5 y y (1) n n n n 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 n n n y y y
DECOSF y n y n n 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 y y n n n n y n
Win2000 y n n n n y y y
Win98 y n n n n y y y
WinNT y n n n n y y y
FreeBSD y n n n y y y y
Linux y y (1) y n y y y y
Platform 1.2 static- Thread- SRB GASS STREAM-
compatibility exec safe VFD
Solaris2.6 y n n n n y
Solaris2.7 y n y n n y
Solarisx86 y n n n n y
IRIX6.5 y n y n n y
IRIX64_6.5 64 y n n n n y
IRIX64_6.5 32 y n n n n y
HPUX10.20 y y n n n y
DECOSF y y n n n y
T3E y y n n n y
SV1 y y n n n y
TFLOPS y y n n n n
AIX-4.3 y y (3) n n n y
Win2000 y y n n n n
Win98 y y n n n n
WinNT y y n n n n
FreeBSD y y n n n y
Linux y n 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.
Known Problems
==============
* 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 Linux platforms using the gcc-2.95.2 compiler.
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.
The compilation fails if configured with --enable-static-exec on IRIX 6.5.
The executable files in hdf5/bin are dynamic-linked for IRIX64 6.5(64 and
n32 modes) and IRIX 6.5, even though they are compiled with static library.
It is suggested that you don't use this option on these platforms
during configuration.
* testhdf5 got bus error with configuration options --prefix and --with-hdf4
on IRIX 6.5.
* 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.
* SunOS 5.6 with C WorkShop Compilers 4.2: Hyperslab selections will
fail if library is compiled using optimization of any level.
* When building hdf5 tools and applications on windows platform, a linking
warning: defaultlib "LIBC" conflicts with use of other libs will appear
on debug version when running VC++6.0. This warning doesn't affect building
and testing hdf5 applications. We will continue investigating this.
* h5toh4 converter fails two cases(tstr.h5 and tmany.h5) for release dll
version on windows 2000 and NT. The reason is possibly due to Windows NT
DLL convention on freeing memory. It seems that memory cannot be freed
across library or DLL. It is still under investigation.
* HDF-GASS testings and testhdf5 in the test directory will get bus error if
the configured with --with-gass.
* HDF-SRB testing got segmentation error on Solaris 2.7.
* The Stream VFD was not tested yet under Windows.
It is not supported in the TFLOPS machine.
* Shared library option is broken for IBM SP and some Origin 2000 platforms.
One needs to run ./configure with '--disable-shared --enable-static'.
* 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:
- Solaris x86 2.5.1, Cray T3E and Cray J90 give errors during testing
when displaying object references in certain files. These are benign
differences due to the difference in sizes of the objects created on
those platforms. h5ls appears to be dumping object references
correctly.
- Cray J90 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.
* Before building HDF5 F90 Library from source on Crays (T3E and SV1)
replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src
subdirectory in the top level directory with the Cray-specific files from
the ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/hdf5-1.4.0/src/crayf90/ directory.
* The h4toh5 utility produces images that do not correctly conform
to the HDF5 Image and Palette Specification.
http://hdf.ncsa.uiuc.edu/HDF5/doc/ImageSpec.html
Several required HDF5 attributes are omitted, and the dataspace
is reversed (i.e., the ht. and width of the image dataset is
incorrectly described.) For more information, please see:
http://hdf.ncsa.uiuc.edu/HDF5/H5Image/ImageDetails.htm
%%%%1.2.2%%%% Release Information for hdf5-1.2.2 (6/23/00)
7. Release Information for hdf5-1.2.2
=================================================================
INTRODUCTION
This document describes the differences between HDF5-1.2.1 and
HDF5-1.2.2, and contains information on the platforms where HDF5-1.2.2
was tested and known problems in HDF5-1.2.2.
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
- Features Added since HDF5-1.2.1
- Bug Fixes since HDF5-1.2.1
- Known Problems
- Platforms Tested
Features Added since HDF5-1.2.1
===============================
* Added internal free-lists to reduce memory required by the library and
H5garbage_collect API function.
* h5dump displays opaque and bitfield types.
* New features added to snapshots. Use 'snapshot help' to see a
complete list of features.
* Improved configure to detect if MPIO routines are available when
parallel mode is requested.
Bug Fixes since HDF5-1.2.1
==========================
* h5dump correctly displays compound datatypes, including simple and
nested compound types.
* h5dump correctly displays the committed copy of predefined types.
* Corrected an error in h5toh4 which did not convert the 32-bit
int from HDF5 to HDF4 correctly for the T3E platform.
* Corrected a floating point number conversion error for the
Cray J90 platform. The error did not convert the value 0.0
correctly.
* Fixed error in H5Giterate which was not updating the "index" parameter
correctly.
* Fixed error in hyperslab iteration which was not walking through the
correct sequence of array elements if hyperslabs were staggered in a
certain pattern.
* Fixed several other problems in hyperslab iteration code.
* Fixed another H5Giterate bug which caused groups with large numbers
of objects in them to misbehave when the callback function returned
non-zero values.
* Changed return type of H5Aiterate and H5A_operator_t typedef to be
herr_t, to align them with the dataset and group iterator functions.
* Changed H5Screate_simple and H5Sset_extent_simple to not allow dimensions
of size 0 without the same dimension being unlimited.
* Improved metadata hashing & caching algorithms to avoid
many hash flushes and also removed some redundant I/O when moving metadata
blocks in the file.
* The libhdf5.settings file shows the correct machine byte-sex.
* The "struct(opt)" type conversion function which gets invoked for
certain compound datatype conversions was fixed for nested compound
types. This required a small change in the datatype conversion
function API.
Known Problems
==============
o SunOS 5.6 with C WorkShop Compilers 4.2: hyperslab selections will
fail if library is compiled using optimization of any level.
o TFLOPS: dsets test fails if compiled with optimization turned on.
o J90: tools fail to dispay data for the datasets with a compound datatype.
Platforms Tested
================
AIX 4.3.3 (IBM SP) 3.6.6 | binaries
mpicc using mpich 1.1.2 | are not
mpicc_r using IBM MPI-IO prototype | available
AIX 4.3.2.0 (IBM SP) xlc 5.0.1.0
Cray J90 10.0.0.7 cc 6.3.0.2
Cray T3E 2.0.5.29 cc 6.3.0.2
mpt.1.3
FreeBSD 4.0 gcc 2.95.2
HP-UX B.10.20 HP C HP92453-01 A.10.32
HP-UX B.11.00 HP92453-01 A.11.00.13 HP C Compiler
(static library only, h5toh4 tool is not available)
IRIX 6.5 MIPSpro cc 7.30
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m
mpt.1.4
Linux 2.2.10 SMP gcc 2.95.1
mpicc(gcc-2.95.1)
gcc (egcs-2.91.66)
mpicc (egcs-2.91.66)
Linux 2.2.16 (RedHat 6.2) gcc 2.95.2
OSF1 V4.0 DEC-V5.2-040
SunOS 5.6 cc WorkShop Compilers 5.0 no optimization
SunOS 5.7 cc WorkShop Compilers 5.0
SolarisX86 SunOS 5.5.1 gcc version 2.7.2 with --disable-hsizet
TFLOPS 3.2.1 pgcc Rel 3.1-3i
mpich-1.1.2 with local changes
Windows NT4.0 sp5 MSVC++ 6.0
Windows 98 MSVC++ 6.0
Windows 2000 MSVC++ 6.0
%%%%1.2.1%%%% Release Information for hdf5-1.2.1
6. Release Information for hdf5-1.2.1
================================================================
Bug fixes since HDF5-1.2.0
==========================
Configuration
-------------
* The hdf5.h include file was fixed to allow the HDF5 Library to be compiled
with other libraries/applications that use GNU autoconf.
* Configuration for parallel HDF5 was improved. Configure now attempts to
link with libmpi.a and/or libmpio.a as the MPI libraries by default.
It also uses "mpirun" to launch MPI tests by default. It tests to
link MPIO routines during the configuration stage, rather than failing
later as before. One can just do "./configure --enable-parallel"
if the MPI library is in the system library.
Library
-------
* Error was fixed which was not allowing dataset region references to have
their regions retrieved correctly.
* Added internal free-lists to reduce memory required by the library and
H5garbage_collect API function
* Fixed error in H5Giterate which was not updating the "index" parameter
correctly.
* Fixed error in hyperslab iteration which was not walking through the
correct sequence of array elements if hyperslabs were staggered in a
certain pattern
* Fixed several other problems in hyperslab iteration code.
Tests
------
* Added additional tests for group and attribute iteration.
* Added additional test for staggered hyperslab iteration.
* Added additional test for random 5-D hyperslab selection.
Tools
------
* Added an option, -V, to show the version information of h5dump.
* Fixed a core dumping bug of h5toh4 when executed on platforms like
TFLOPS.
* The test script for h5toh4 used to not able to detect the hdp
dumper command was not valid. It now detects and reports the
failure of hdp execution.
Documentation
-------------
* User's Guide and Reference Manual were updated.
See doc/html/PSandPDF/index.html for more details.
Platforms Tested:
================
Note: Due to the nature of bug fixes, only static versions of the library and tools were tested.
AIX 4.3.2 (IBM SP) 3.6.6
Cray T3E 2.0.4.81 cc 6.3.0.1
mpt.1.3
FreeBSD 3.3-STABLE gcc 2.95.2
HP-UX B.10.20 HP C HP92453-01 A.10.32
IRIX 6.5 MIPSpro cc 7.30
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m
mpt.1.3 (SGI MPI 3.2.0.0)
Linux 2.2.10 SuSE egcs-2.91.66 configured with
(i686-pc-linux-gnu) --disable-hsizet
mpich-1.2.0 egcs-2.91.66 19990314/Linux
OSF1 V4.0 DEC-V5.2-040
SunOS 5.6 cc WorkShop Compilers 4.2 no optimization
SunOS 5.7 cc WorkShop Compilers 5.0
TFLOPS 2.8 cicc (pgcc Rel 3.0-5i)
mpich-1.1.2 with local changes
Windows NT4.0 sp5 MSVC++ 6.0
Known Problems:
==============
o SunOS 5.6 with C WorkShop Compilers 4.2: Hyperslab selections will
fail if library is compiled using optimization of any level.
%%%%1.2.0%%%% Release Information for hdf5-1.2.0
5. Release Information for hdf5-1.2.0
===================================================================
A. Platforms Supported
-------------------
Operating systems listed below with compiler information and MPI library, if
applicable, are systems that HDF5 1.2.0 was tested on.
Compiler & libraries
Platform Information Comment
-------- ---------- --------
AIX 4.3.2 (IBM SP) 3.6.6
Cray J90 10.0.0.6 cc 6.3.0.0
Cray T3E 2.0.4.61 cc 6.2.1.0
mpt.1.3
FreeBSD 3.2 gcc 2.95.1
HP-UX B.10.20 HP C HP92453-01 A.10.32
gcc 2.8.1
IRIX 6.5 MIPSpro cc 7.30
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m
mpt.1.3 (SGI MPI 3.2.0.0)
Linux 2.2.10 egcs-2.91.66 configured with
--disable-hsizet
lbraries: glibc2
OSF1 V4.0 DEC-V5.2-040
SunOS 5.6 cc WorkShop Compilers 4.2
no optimization
gcc 2.8.1
SunOS 5.7 cc WorkShop Compilers 5.0
gcc 2.8.1
TFLOPS 2.7.1 cicc (pgcc Rel 3.0-4i)
mpich-1.1.2 with local changes
Windows NT4.0 intel MSVC++ 5.0 and 6.0
Windows NT alpha 4.0 MSVC++ 5.0
Windows 98 MSVC++ 5.0
B. Known Problems
--------------
* NT alpha 4.0
Dumper utiliy h5dump fails if linked with DLL.
* SunOS 5.6 with C WorkShop Compilers 4.2
Hyperslab selections will fail if library is compiled using optimization
of any level.
C. Changes Since Version 1.0.1
---------------------------
1. Documentation
-------------
* More examples
* Updated user guide, reference manual, and format specification.
* Self-contained documentation for installations isolated from the
Internet.
* HDF5 Tutorial was added to the documentation
2. 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.
* Support for Cray T3E, J90 and Windows/NT.
3. Debugging
---------
* Improved control and redirection of debugging and tracing messages.
4. 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 currently supported only
as variable length arrays of 1-byte integers.
5. Dataspaces
----------
* New query functions for selections.
* I/O operations bypass the stripmining loop and go directly to
storage for certain contiguous selections in the absense 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.
6. Persistent Pointers
-------------------
* Object (serial and parallel) and dataset region (serial only)
references are implemented.
7. Parallel Support
----------------
* Improved parallel I/O performance.
* Supported new platforms: Cray T3E, Linux, DEC Cluster.
* Use vendor supported version of MPIO on SGI O2K and Cray platforms.
* Improved the algorithm that translates an HDF5 hyperslab selection
into an MPI type for better collective I/O performance.
8. New API functions
-----------------
a. 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
b. 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
c. 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
d. 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
e. Identifier Interface:
---------------------
H5Iget_type - retrieve the type of an object
f. 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
g. 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)
9. 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.
%%%%1.0.1%%%% Release Information for hdf5-1.0.1
4. Changes from Release 1.0.0 to Release 1.0.1
=====================================================================
* [Improvement]: configure sets up the Makefile in the parallel tests
suit (testpar/) correctly.
* [Bug-Fix]: Configure failed for all IRIX versions other than 6.3.
It now configures correctly for all IRIX 6.x version.
* Released Parallel HDF5
Supported Features:
------------------
HDF5 files are accessed according to the communicator and INFO
object defined in the property list set by H5Pset_mpi.
Independent read and write accesses to fixed and extendable dimension
datasets.
Collective read and write accesses to fixed dimension datasets.
Supported Platforms:
-------------------
Intel Red
IBM SP2
SGI Origin 2000
Changes In This Release:
-----------------------
o Support of Access to Extendable Dimension Datasets.
Extendable dimension datasets must use chunked storage methods.
A new function, H5Dextend, is created to extend the current
dimensions of a dataset. The current release requires the
MPI application must make a collective call to extend the
dimensions of an extendable dataset before writing to the
newly extended area. (The serial does not require the
call of H5Dextend. The dimensions of an extendable
dataset is increased when data is written to beyond the
current dimensions but within the maximum dimensions.)
The required collective call of H5Dextend may be relaxed
in future release.
This release only support independent read and write accesses
to extendable datasets. Collective accesses to extendable
datasets will be implemented in future releases.
o Collective access to fixed dimension datasets.
Collective access to a dataset can be specified in the transfer
property list argument in H5Dread and H5Dwrite. The current
release supports collective access to fixed dimension datasets.
Collective access to extendable datasets will be implemented in
future releases.
o HDF5 files are opened according to Communicator and INFO object.
H5Dopen now records the communicator and INFO setup by H5Pset_mmpi
and pass them to the corresponding MPIO open file calls for
processing.
o This release has been tested on IBM SP2, Intel Red and SGI Origin 2000
systems. It uses the ROMIO version of MPIO interface for parallel
I/O supports.
%%%%1.0.0%%%% Release Information for hdf5-1.0.0
3. Changes from the Beta 1.0.0 Release to Release 1.0.0
====================================================================
* Added fill values for datasets. For contiguous datasets fill value
performance may be quite poor since the fill value is written to the
entire dataset when the dataset is created. This will be remedied
in a future version. Chunked datasets using fill values do not
incur any additional overhead. See H5Pset_fill_value().
* Multiple hdf5 files can be "mounted" on one another to create a
larger virtual file. See H5Fmount().
* Object names can be removed or changed but objects are never
actually removed from the file yet. See H5Gunlink() and H5Gmove().
* Added a tuning mechanism for B-trees to insure that sequential
writes to chunked datasets use less overhead. See H5Pset_btree_ratios().
* Various optimizations and bug fixes.
%%%%1.0.0 Beta%%%% Release Information for hdf5-1.0.0 Beta
2. Changes from the Second Alpha 1.0.0 Release to the Beta 1.0.0 Release
=========================================================================
* Strided hyperslab selections in dataspaces now working.
* The compression API has been replaced with a more general filter
API. See doc/html/Filters.html for details.
* Alpha-quality 2d ragged arrays are implemented as a layer built on
top of other hdf5 objects. The API and storage format will almost
certainly change.
* More debugging support including API tracing. See Debugging.html.
* C and Fortran style 8-bit fixed-length character string types are
supported with space or null padding or null termination and
translations between them.
* Added function H5Fflush() to write all cached data immediately to
the file.
* Datasets maintain a modification time which can be retrieved with
H5Gstat().
* The h5ls tool can display much more information, including all the
values of a dataset.
%%%%1.0.0 Alpha 2%%%% Release Information for hdf5-1.0.0 Alpha 2
1. Changes from the First Alpha 1.0.0 Release to
the Second Alpha 1.0.0 Release
=====================================================================
* Two of the packages have been renamed. The data space API has been
renamed from `H5P' to `H5S' and the property list (template) API has
been renamed from `H5C' to `H5P'.
* The new attribute API `H5A' has been added. An attribute is a small
dataset which can be attached to some other object (for instance, a
4x4 transformation matrix attached to a 3-dimensional dataset, or an
English abstract attached to a group).
* The error handling API `H5E' has been completed. By default, when an
API function returns failure an error stack is displayed on the
standard error stream. The H5Eset_auto() controls the automatic
printing and H5E_BEGIN_TRY/H5E_END_TRY macros can temporarily
disable the automatic error printing.
* Support for large files and datasets (>2GB) has been added. There
is an html document that describes how it works. Some of the types
for function arguments have changed to support this: all arguments
pertaining to sizes of memory objects are `size_t' and all arguments
pertaining to file sizes are `hsize_t'.
* More data type conversions have been added although none of them are
fine tuned for performance. There are new converters from integer
to integer and float to float, but not between integers and floating
points. A bug has been fixed in the converter between compound
types.
* The numbered types have been removed from the API: int8, uint8,
int16, uint16, int32, uint32, int64, uint64, float32, and float64.
Use standard C types instead. Similarly, the numbered types were
removed from the H5T_NATIVE_* architecture; use unnumbered types
which correspond to the standard C types like H5T_NATIVE_INT.
* More debugging support was added. If tracing is enabled at
configuration time (the default) and the HDF5_TRACE environment
variable is set to a file descriptor then all API calls will emit
the function name, argument names and values, and return value on
that file number. There is an html document that describes this.
If appropriate debugging options are enabled at configuration time,
some packages will display performance information on stderr.
* Data types can be stored in the file as independent objects and
multiple datasets can share a data type.
* The raw data I/O stream has been implemented and the application can
control meta and raw data caches, so I/O performance should be
improved from the first alpha release.
* Group and attribute query functions have been implemented so it is
now possible to find out the contents of a file with no prior
knowledge.
* External raw data storage allows datasets to be written by other
applications or I/O libraries and described and accessed through
HDF5.
* Hard and soft (symbolic) links are implemented which allow groups to
share objects. Dangling and recursive symbolic links are supported.
* User-defined data compression is implemented although we may
generalize the interface to allow arbitrary user-defined filters
which can be used for compression, checksums, encryption,
performance monitoring, etc. The publicly-available `deflate'
method is predefined if the GNU libz.a can be found at configuration
time.
* The configuration scripts have been modified to make it easier to
build debugging vs. production versions of the library.
* The library automatically checks that the application was compiled
with the correct version of header files.
Parallel HDF5 Changes
* Parallel support for fixed dimension datasets with contiguous or
chunked storages. Also, support unlimited dimension datasets which
must use chunk storage. No parallel support for compressed datasets.
* Collective data transfer for H5Dread/H5Dwrite. Collective access
support for datasets with contiguous storage only, thus only fixed
dimension datasets for now.
* H5Pset_mpi and H5Pget_mpi no longer have the access_mode
argument. It is taken over by the data-transfer property list
of H5Dread/H5Dwrite.
* New functions H5Pset_xfer and H5Pget_xfer to handle the
specification of independent or collective data transfer_mode
in the dataset transfer properties list. The properties
list can be used to specify data transfer mode in the H5Dwrite
and H5Dread function calls.
* Added parallel support for datasets with chunked storage layout.
When a dataset is extend in a PHDF5 file, all processes that open
the file must collectively call H5Dextend with identical new dimension
sizes.
LIST OF API FUNCTIONS
The following functions are implemented. Errors are returned if an
attempt is made to use some feature which is not implemented and
printing the error stack will show `not implemented yet'.
Library
H5check - check that lib version matches header version
H5open - initialize library (happens automatically)
H5close - shut down the library (happens automatically)
H5dont_atexit - don't call H5close on exit
H5get_libversion - retrieve library version info
H5check_version - check for specific library version
Property Lists
H5Pclose - release template resources
H5Pcopy - copy a template
H5Pcreate - create a new template
H5Pget_chunk - get chunked storage properties
H5Pset_chunk - set chunked storage properties
H5Pget_class - get template class
H5Pget_istore_k - get chunked storage properties
H5Pset_istore_k - set chunked storage properties
H5Pget_layout - get raw data layout class
H5Pset_layout - set raw data layout class
H5Pget_sizes - get address and size sizes
H5Pset_sizes - set address and size sizes
H5Pget_sym_k - get symbol table storage properties
H5Pset_sym_k - set symbol table storage properties
H5Pget_userblock - get user-block size
H5Pset_userblock - set user-block size
H5Pget_version - get file version numbers
H5Pget_alignment - get data alignment properties
H5Pset_alignment - set data alignment properties
H5Pget_external_count- get count of external data files
H5Pget_external - get information about an external data file
H5Pset_external - add a new external data file to the list
H5Pget_driver - get low-level file driver class
H5Pget_stdio - get properties for stdio low-level driver
H5Pset_stdio - set properties for stdio low-level driver
H5Pget_sec2 - get properties for sec2 low-level driver
H5Pset_sec2 - set properties for sec2 low-level driver
H5Pget_core - get properties for core low-level driver
H5Pset_core - set properties for core low-level driver
H5Pget_split - get properties for split low-level driver
H5Pset_split - set properties for split low-level driver
H5P_get_family - get properties for family low-level driver
H5P_set_family - set properties for family low-level driver
H5Pget_cache - get meta- and raw-data caching properties
H5Pset_cache - set meta- and raw-data caching properties
H5Pget_buffer - get raw-data I/O pipe buffer properties
H5Pset_buffer - set raw-data I/O pipe buffer properties
H5Pget_preserve - get type conversion preservation properties
H5Pset_preserve - set type conversion preservation properties
H5Pget_nfilters - get number of raw data filters
H5Pget_filter - get raw data filter properties
H5Pset_filter - set raw data filter properties
H5Pset_deflate - set deflate compression filter properties
H5Pget_mpi - get MPI-IO properties
H5Pset_mpi - set MPI-IO properties
H5Pget_xfer - get data transfer properties
+ 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
Datasets
H5Dclose - release dataset resources
H5Dcreate - create a new dataset
H5Dget_space - get data space
H5Dget_type - get data type
H5Dget_create_plist - get dataset creation properties
H5Dopen - open an existing dataset
H5Dread - read raw data
H5Dwrite - write raw data
H5Dextend - extend a dataset
+ 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
Attributes
H5Acreate - create a new attribute
H5Aopen_name - open an attribute by name
H5Aopen_idx - open an attribute by number
H5Awrite - write values into an attribute
H5Aread - read values from an attribute
H5Aget_space - get attribute data space
H5Aget_type - get attribute data type
H5Aget_name - get attribute name
H5Anum_attrs - return the number of attributes for an object
H5Aiterate - iterate over an object's attributes
H5Adelete - delete an attribute
H5Aclose - close an attribute
Errors
H5Eclear - clear the error stack
H5Eprint - print an error stack
H5Eget_auto - get automatic error reporting settings
H5Eset_auto - set automatic error reporting
H5Ewalk - iterate over the error stack
H5Ewalk_cb - the default error stack iterator function
H5Eget_major - get the message for the major error number
H5Eget_minor - get the message for the minor error number
Files
H5Fclose - close a file and release resources
H5Fcreate - create a new file
H5Fget_create_plist - get file creation property list
H5Fget_access_plist - get file access property list
H5Fis_hdf5 - determine if a file is an hdf5 file
H5Fopen - open an existing file
H5Freopen - reopen an HDF5 file
H5Fmount - mount a file
H5Funmount - unmount a file
H5Fflush - flush all buffers associated with a file to disk
Groups
H5Gclose - close a group and release resources
H5Gcreate - create a new group
H5Gopen - open an existing group
H5Giterate - iterate over the contents of a group
H5Gmove - change the name of some object
H5Glink - create a hard or soft link to an object
H5Gunlink - break the link between a name and an object
H5Gget_objinfo - get information about a group entry
H5Gget_linkval - get the value of a soft link
H5Gget_comment - get the comment string for an object
H5Gset_comment - set the comment string for an object
Dataspaces
H5Screate - create a new data space
H5Scopy - copy a data space
H5Sclose - release data space
H5Screate_simple - create a new simple data space
H5Sset_space - set simple data space extents
H5Sis_simple - determine if data space is simple
H5Sset_extent_simple - set simple data space dimensionality and size
H5Sget_simple_extent_npoints - get number of points in simple extent
H5Sget_simple_extent_ndims - get simple data space dimensionality
H5Sget_simple_extent_dims - get simple data space size
H5Sget_simple_extent_type - get type of simple extent
H5Sset_extent_none - reset extent to be empty
H5Sextent_copy - copy the extent from one data space to another
H5Sget_select_npoints - get number of points selected for I/O
H5Sselect_hyperslab - set hyperslab dataspace selection
H5Sselect_elements - set element sequence dataspace selection
H5Sselect_all - select entire extent for I/O
H5Sselect_none - deselect all elements of extent
H5Soffset_simple - set selection offset
H5Sselect_valid - determine if selection is valid for extent
+ 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
Datatypes
H5Tclose - release data type resources
H5Topen - open a named data type
H5Tcommit - name a data type
H5Tcommitted - determine if a type is named
H5Tcopy - copy a data type
H5Tcreate - create a new data type
H5Tequal - compare two data types
H5Tlock - lock type to prevent changes
H5Tfind - find a data type conversion function
H5Tconvert - convert data from one type to another
H5Tregister - register a conversion function
H5Tunregister - remove a conversion function
H5Tget_overflow - get function that handles overflow conv. cases
H5Tset_overflow - set function to handle overflow conversion cases
H5Tget_class - get data type class
H5Tget_cset - get character set
H5Tget_ebias - get exponent bias
H5Tget_fields - get floating point fields
H5Tget_inpad - get inter-field padding
H5Tget_member_dims - get struct member dimensions
H5Tget_member_name - get struct member name
H5Tget_member_offset - get struct member byte offset
H5Tget_member_type - get struct member type
H5Tget_nmembers - get number of struct members
H5Tget_norm - get floating point normalization
H5Tget_offset - get bit offset within type
H5Tget_order - get byte order
H5Tget_pad - get padding type
H5Tget_precision - get precision in bits
H5Tget_sign - get integer sign type
H5Tget_size - get size in bytes
H5Tget_strpad - get string padding
H5Tinsert - insert scalar struct member
H5Tinsert_array - insert array struct member
H5Tpack - pack struct members
H5Tset_cset - set character set
H5Tset_ebias - set exponent bias
H5Tset_fields - set floating point fields
H5Tset_inpad - set inter-field padding
H5Tset_norm - set floating point normalization
H5Tset_offset - set bit offset within type
H5Tset_order - set byte order
H5Tset_pad - set padding type
H5Tset_precision - set precision in bits
H5Tset_sign - set integer sign type
H5Tset_size - set size in bytes
H5Tset_strpad - set string padding
+ 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
- H5Tregister_hard - register specific type conversion function
- H5Tregister_soft - register general type conversion function
Filters
H5Tregister - register a conversion function
Compression
H5Zregister - register new compression and uncompression
functions for a method specified by a method number
Identifiers
+ H5Iget_type - retrieve the type of an object
References
+ 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)
H5RAcreate - create a new ragged array
H5RAopen - open an existing array
H5RAclose - close a ragged array
H5RAwrite - write to an array
H5RAread - read from an array
|