Issues with Intel 15 and HDF5 1.8.12

HDF Forum,

I'm currently having issues using HDF5 with Intel 15 compiler, namely the Fortran compiler. HDF5 itself builds and builds without error, but it doesn't actually seem to produce a good library, at least a Fortran library. Now this is all with HDF5 1.8.12 (needed due to the netCDF library we build with this), but I've seen the same behavior with HDF5 1.8.14.

Has anyone out there found a workaround for this issue?

To wit, if I build with Intel 13, 'fortranlib_test_1_8' results in:

                        ==========================
                               FORTRAN 1.8 tests
                        ==========================
FORTRANLIB_TEST is linked with HDF5 Library version 1.8 release 12

Testing file free space PASSED
Testing with new file format:
  - Tests INT attributes on both datasets and groups PASSED
  - Testing with shared attributes:
   - Testing INT attributes on both datasets and groups PASSED
   - Testing storing attribute with "null" dataspace PASSED
   - Testing storing lots of attributes PASSED
   - Testing creating objects with attribute creation order PASSED
   - Testing compact storage on objects with attribute creation order PASSED
   - Testing querying attribute info by index PASSED
   - Testing deleting attribute by index PASSED
    - Testing Creating Attributes By Name w/o Creation Order Index
    - Testing Creating Attributes By Name w/Creation Order Index
   - Testing creating attributes by name PASSED
   - Testing renaming shared attributes in "compact" & "dense" storage PASSED
   - Testing deleting shared attributes in "compact" & "dense" storage PASSED
  - Testing without shared attributes:
   - Testing INT attributes on both datasets and groups PASSED
   - Testing storing attribute with "null" dataspace PASSED
   - Testing storing lots of attributes PASSED
   - Testing creating objects with attribute creation order PASSED
   - Testing compact storage on objects with attribute creation order PASSED
   - Testing querying attribute info by index PASSED
   - Testing deleting attribute by index PASSED
    - Testing Creating Attributes By Name w/o Creation Order Index
    - Testing Creating Attributes By Name w/Creation Order Index
   - Testing creating attributes by name PASSED
Testing with old file format:
  - Tests INT attributes on both datasets and groups PASSED
Testing attributes PASSED
Testing building a file with assorted links PASSED
Testing links are correct and building assorted links PASSED
Testing create group with creation order indices, test querying group PASSED
Testing disabling tracking timestamps for an object PASSED
Testing moving and renaming links preserves their properties PASSED
Testing deleting links by index PASSED
Testing link creation property lists PASSED
Testing object copy PASSED
Testing adding links to a group follow proper "lifecycle" PASSED
Testing groups PASSED
Testing object interface PASSED
Testing data transform PASSED
Testing dataspace encoding and decoding PASSED
Testing scaleoffset filter PASSED

                   ============================================
                    FORTRAN tests completed with 0 error(s) !
                   ============================================

That is good! Now with Intel 15:

                        ==========================
                               FORTRAN 1.8 tests
                        ==========================
FORTRANLIB_TEST is linked with HDF5 Library version 1.8 release 12

Testing file free space PASSED
Testing with new file format:
ERROR: INCORRECT VALIDATION h5aread_f
  - Tests INT attributes on both datasets and groups *FAILED*
  - Testing with shared attributes:
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_f
   - Testing INT attributes on both datasets and groups *FAILED*
   - Testing storing attribute with "null" dataspace PASSED
   - Testing storing lots of attributes PASSED
   - Testing creating objects with attribute creation order PASSED
   - Testing compact storage on objects with attribute creation order PASSED
   - Testing querying attribute info by index PASSED
   - Testing deleting attribute by index PASSED
    - Testing Creating Attributes By Name w/o Creation Order Index
    - Testing Creating Attributes By Name w/Creation Order Index
   - Testing creating attributes by name PASSED
   - Testing renaming shared attributes in "compact" & "dense" storage PASSED
   - Testing deleting shared attributes in "compact" & "dense" storage PASSED
  - Testing without shared attributes:
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_f
   - Testing INT attributes on both datasets and groups *FAILED*
   - Testing storing attribute with "null" dataspace PASSED
   - Testing storing lots of attributes PASSED
   - Testing creating objects with attribute creation order PASSED
   - Testing compact storage on objects with attribute creation order PASSED
   - Testing querying attribute info by index PASSED
   - Testing deleting attribute by index PASSED
    - Testing Creating Attributes By Name w/o Creation Order Index
    - Testing Creating Attributes By Name w/Creation Order Index
   - Testing creating attributes by name PASSED
Testing with old file format:
ERROR: INCORRECT VALIDATION h5aread_f
  - Tests INT attributes on both datasets and groups *FAILED*
Testing attributes *FAILED*
Testing building a file with assorted links PASSED
Testing links are correct and building assorted links PASSED
Testing create group with creation order indices, test querying group PASSED
Testing disabling tracking timestamps for an object PASSED
Testing moving and renaming links preserves their properties PASSED
Testing deleting links by index PASSED
Testing link creation property lists PASSED
Testing object copy PASSED
Testing adding links to a group follow proper "lifecycle" PASSED
Testing groups PASSED
ERROR: INCORRECT VALIDATION H5Dread_f
ERROR: INCORRECT VALIDATION H5Dread
Testing object interface *FAILED*
Testing data transform PASSED
Testing dataspace encoding and decoding PASSED
    Read different values than written.
    At index 1 1
Testing scaleoffset filter *FAILED*

                   ============================================
                    FORTRAN tests completed with 111 error(s) !
                   ============================================

That is bad.

I've tried Intel 15.0.0.090 and Intel 15.0.1.133 and both seem to show the issue. I've also tried passing in FCFLAGS=-O0 with no luck. I've tried CFLAGS=-O0 with no luck.

On one machine I use gcc as the C compiler, on another icc. Since both seem to show the fault, I'm looking more at the Fortran compiler. But I'm not sure.

I've also built using MPI (enable parallel HDF5) and without (not enabling). Both produce the same bad output.

Note that above, I'm looking at fortranlib_test_1_8 because fortranlib_test and Intel 15 seems to be a *BAD* thing. Try at your peril.

Any ideas?

Matt Thompson

···

--
Matt Thompson SSAI, Sr Software Test Engr
NASA GSFC, Global Modeling and Assimilation Office
Code 610.1, 8800 Greenbelt Rd, Greenbelt, MD 20771
Phone: 301-614-6712 Fax: 301-614-6246

This issue will be fixed in the next release of HDF5 (the fix is already in the trunk), but for now you will have to use the Fortran compiler flag

-assume nostd_value

when compiling HDF5 using the Intel 15 compiler.

Scot

···

On Feb 4, 2015, at 12:18 PM, Thompson, Matt (GSFC-610.1)[SCIENCE SYSTEMS AND APPLICATIONS INC] <matthew.thompson@nasa.gov> wrote:

HDF Forum,

I'm currently having issues using HDF5 with Intel 15 compiler, namely the Fortran compiler. HDF5 itself builds and builds without error, but it doesn't actually seem to produce a good library, at least a Fortran library. Now this is all with HDF5 1.8.12 (needed due to the netCDF library we build with this), but I've seen the same behavior with HDF5 1.8.14.

Has anyone out there found a workaround for this issue?

To wit, if I build with Intel 13, 'fortranlib_test_1_8' results in:

                       ==========================
                              FORTRAN 1.8 tests
                       ==========================
FORTRANLIB_TEST is linked with HDF5 Library version 1.8 release 12

Testing file free space PASSED
Testing with new file format:
- Tests INT attributes on both datasets and groups PASSED
- Testing with shared attributes:
  - Testing INT attributes on both datasets and groups PASSED
  - Testing storing attribute with "null" dataspace PASSED
  - Testing storing lots of attributes PASSED
  - Testing creating objects with attribute creation order PASSED
  - Testing compact storage on objects with attribute creation order PASSED
  - Testing querying attribute info by index PASSED
  - Testing deleting attribute by index PASSED
   - Testing Creating Attributes By Name w/o Creation Order Index
   - Testing Creating Attributes By Name w/Creation Order Index
  - Testing creating attributes by name PASSED
  - Testing renaming shared attributes in "compact" & "dense" storage PASSED
  - Testing deleting shared attributes in "compact" & "dense" storage PASSED
- Testing without shared attributes:
  - Testing INT attributes on both datasets and groups PASSED
  - Testing storing attribute with "null" dataspace PASSED
  - Testing storing lots of attributes PASSED
  - Testing creating objects with attribute creation order PASSED
  - Testing compact storage on objects with attribute creation order PASSED
  - Testing querying attribute info by index PASSED
  - Testing deleting attribute by index PASSED
   - Testing Creating Attributes By Name w/o Creation Order Index
   - Testing Creating Attributes By Name w/Creation Order Index
  - Testing creating attributes by name PASSED
Testing with old file format:
- Tests INT attributes on both datasets and groups PASSED
Testing attributes PASSED
Testing building a file with assorted links PASSED
Testing links are correct and building assorted links PASSED
Testing create group with creation order indices, test querying group PASSED
Testing disabling tracking timestamps for an object PASSED
Testing moving and renaming links preserves their properties PASSED
Testing deleting links by index PASSED
Testing link creation property lists PASSED
Testing object copy PASSED
Testing adding links to a group follow proper "lifecycle" PASSED
Testing groups PASSED
Testing object interface PASSED
Testing data transform PASSED
Testing dataspace encoding and decoding PASSED
Testing scaleoffset filter PASSED

                  ============================================
                   FORTRAN tests completed with 0 error(s) !
                  ============================================

That is good! Now with Intel 15:

                       ==========================
                              FORTRAN 1.8 tests
                       ==========================
FORTRANLIB_TEST is linked with HDF5 Library version 1.8 release 12

Testing file free space PASSED
Testing with new file format:
ERROR: INCORRECT VALIDATION h5aread_f
ERROR: INCORRECT VALIDATION h5aread_f
ERROR: INCORRECT VALIDATION h5aread_f
- Tests INT attributes on both datasets and groups *FAILED*
- Testing with shared attributes:
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
  - Testing INT attributes on both datasets and groups *FAILED*
  - Testing storing attribute with "null" dataspace PASSED
  - Testing storing lots of attributes PASSED
  - Testing creating objects with attribute creation order PASSED
  - Testing compact storage on objects with attribute creation order PASSED
  - Testing querying attribute info by index PASSED
  - Testing deleting attribute by index PASSED
   - Testing Creating Attributes By Name w/o Creation Order Index
   - Testing Creating Attributes By Name w/Creation Order Index
  - Testing creating attributes by name PASSED
  - Testing renaming shared attributes in "compact" & "dense" storage PASSED
  - Testing deleting shared attributes in "compact" & "dense" storage PASSED
- Testing without shared attributes:
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_F
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
ERROR: INCORRECT VALIDATION H5Aread_f
  - Testing INT attributes on both datasets and groups *FAILED*
  - Testing storing attribute with "null" dataspace PASSED
  - Testing storing lots of attributes PASSED
  - Testing creating objects with attribute creation order PASSED
  - Testing compact storage on objects with attribute creation order PASSED
  - Testing querying attribute info by index PASSED
  - Testing deleting attribute by index PASSED
   - Testing Creating Attributes By Name w/o Creation Order Index
   - Testing Creating Attributes By Name w/Creation Order Index
  - Testing creating attributes by name PASSED
Testing with old file format:
ERROR: INCORRECT VALIDATION h5aread_f
ERROR: INCORRECT VALIDATION h5aread_f
ERROR: INCORRECT VALIDATION h5aread_f
- Tests INT attributes on both datasets and groups *FAILED*
Testing attributes *FAILED*
Testing building a file with assorted links PASSED
Testing links are correct and building assorted links PASSED
Testing create group with creation order indices, test querying group PASSED
Testing disabling tracking timestamps for an object PASSED
Testing moving and renaming links preserves their properties PASSED
Testing deleting links by index PASSED
Testing link creation property lists PASSED
Testing object copy PASSED
Testing adding links to a group follow proper "lifecycle" PASSED
Testing groups PASSED
ERROR: INCORRECT VALIDATION H5Dread_f
ERROR: INCORRECT VALIDATION H5Dread_f
ERROR: INCORRECT VALIDATION H5Dread_f
ERROR: INCORRECT VALIDATION H5Dread_f
ERROR: INCORRECT VALIDATION H5Dread_f
ERROR: INCORRECT VALIDATION H5Dread_f
ERROR: INCORRECT VALIDATION H5Dread_f
ERROR: INCORRECT VALIDATION H5Dread_f
ERROR: INCORRECT VALIDATION H5Dread_f
ERROR: INCORRECT VALIDATION H5Dread_f
ERROR: INCORRECT VALIDATION H5Dread
ERROR: INCORRECT VALIDATION H5Dread
ERROR: INCORRECT VALIDATION H5Dread
ERROR: INCORRECT VALIDATION H5Dread
ERROR: INCORRECT VALIDATION H5Dread
ERROR: INCORRECT VALIDATION H5Dread
ERROR: INCORRECT VALIDATION H5Dread
ERROR: INCORRECT VALIDATION H5Dread
ERROR: INCORRECT VALIDATION H5Dread
ERROR: INCORRECT VALIDATION H5Dread
Testing object interface *FAILED*
Testing data transform PASSED
Testing dataspace encoding and decoding PASSED
   Read different values than written.
   At index 1 1
Testing scaleoffset filter *FAILED*

                  ============================================
                   FORTRAN tests completed with 111 error(s) !
                  ============================================

That is bad.

I've tried Intel 15.0.0.090 and Intel 15.0.1.133 and both seem to show the issue. I've also tried passing in FCFLAGS=-O0 with no luck. I've tried CFLAGS=-O0 with no luck.

On one machine I use gcc as the C compiler, on another icc. Since both seem to show the fault, I'm looking more at the Fortran compiler. But I'm not sure.

I've also built using MPI (enable parallel HDF5) and without (not enabling). Both produce the same bad output.

Note that above, I'm looking at fortranlib_test_1_8 because fortranlib_test and Intel 15 seems to be a *BAD* thing. Try at your peril.

Any ideas?

Matt Thompson

--
Matt Thompson SSAI, Sr Software Test Engr
NASA GSFC, Global Modeling and Assimilation Office
Code 610.1, 8800 Greenbelt Rd, Greenbelt, MD 20771
Phone: 301-614-6712 Fax: 301-614-6246

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5

Scot,

Thank you very much! This seems to fix what we've seen here.

Matt

···

On 02/04/2015 05:04 PM, Scot Breitenfeld wrote:

This issue will be fixed in the next release of HDF5 (the fix is
already in the trunk), but for now you will have to use the Fortran
compiler flag

-assume nostd_value

when compiling HDF5 using the Intel 15 compiler.

Scot

--
Matt Thompson SSAI, Sr Software Test Engr
NASA GSFC, Global Modeling and Assimilation Office
Code 610.1, 8800 Greenbelt Rd, Greenbelt, MD 20771
Phone: 301-614-6712 Fax: 301-614-6246