diff options
author | jhendersonHDF <jhenderson@hdfgroup.org> | 2023-12-07 18:13:21 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-07 18:13:21 (GMT) |
commit | fb84c696a476c39db2c35e7d86b818138e089358 (patch) | |
tree | 56c0fec578e2e0d2eaee455cf3ae133dca541989 /release_docs | |
parent | dc8b455ac00e899b53127de0d270230f4d4e40a1 (diff) | |
download | hdf5-fb84c696a476c39db2c35e7d86b818138e089358.zip hdf5-fb84c696a476c39db2c35e7d86b818138e089358.tar.gz hdf5-fb84c696a476c39db2c35e7d86b818138e089358.tar.bz2 |
Sync 1.14 branch with develop (#3887)
* Preserve MPI-I/O file hints when fapl is closed (#3755)
* Fix for issue #3025: Save the MPI info in the file struct so H5Fget_access_plist() can retrieve it from there.
* Add compression tests for subfiling (#3769)
* Fix typo in comment (#3775)
* Fixed a file handle leak in the core VFD (#3779)
When opening a file with the core VFD and a file image, if the file
already exists, the file check would leak the POSIX file handle.
Fixes GitHub issue #635
* Fix a format string warning in the C++ examples (#3776)
* Cancel running GitHub workflows on push to same PR (#3772)
* Cancel running GitHub workflows on push to same PR
* Remove github.sha from workflow concurrency groups
* Print some messages in parallel tests on MPI rank 0 only (#3785)
Avoids overly verbose output from all processes emitting progress, etc. info.
* Avoid attempted use of NULL pointer in parallel compression code (#3786)
The parallel compression test code tests for the case where all MPI ranks have no selection in a dataset when writing to it. Add an early exit to the code to avoid attempting to use a NULL pointer due to there being no work to do.
* Don't install h5tools_test_utils test program on system (#3793)
* Add Doxygen to H5FDsplitter.h (#3794)
* H5FD_CURR_SPLITTER_VFD_CONFIG_VERSION
* H5FD_SPLITTER_PATH_MAX
* H5FD_SPLITTER_MAGIC
* H5FD_splitter_vfd_config_t
* H5Pset_fapl_splitter()
* H5Pget_fapl_splitter()
* Update Doxygen initializers & identifiers in VFDs (#3795)
* Add Doxygen for all H5FD_<VFD> initializers
* Add Doxygen for all H5FD_<VFD>_VALUE values
* Mark H5FD_<vfd>_init() calls private in Doxygen
* Fix memory corruption in 'MPI I/O FAPL preserve' test (#3806)
* Fix usage of h5_clean_files in t_pflush2.c (#3807)
* Fix parallel driver check in h5_fixname_real (#3808)
* Fix a couple usages of MPI_Info_get (#3809)
* Remove H5system.c warning on Windows oneAPI. (#3812)
* Add processing of NVHPC flags in linux-gnulibc1 file (#3804)
* Disable testing as tests are failing the same as in CMake
* Use the current toolchain for examples as default (#3810)
* Fix misc. warnings from GCC when compiling with -fsanitize=undefined (#3787)
* Set NVHPC maximum optimization level to -O1 for now (#3800)
* Set NVHPC maximum optimization level to -O1 for now
Compiling HDF5 with NVHPC 23.5 - 23.9 results in test failures in
4 different test files that need to be resolved. Since those tests
pass with an optimization level of -O1 (and -O0) and it is currently
unclear whether the test failures are due to issues in HDF5 or issues
in the 'nvc' compiler, set the maximum optimization level for NVHPC
to -O1 until the test failures are resolved.
* Disable nvhpc Java testing in CMake and amend known issues
* Re-enable testing of Autotools nvhpc
* Update some doxygen links to local refs (#3814)
* Rework MPI Info FAPL preserve PR to use VFD 'ctl' operations (#3782)
* Removed the use of C wrappers from H5P APIs. (#3824)
* fix seg fault on frontier/cray
* fix seg fault on frontier/cray
* fix seg fault on frontier/cray
* removed the use of h5pclose_c
* removed the use of h5pclose_c
* Fortran Wrappers H5VLnative_addr_to_token_f and H5VLnative_token_to_address_f (#3801)
* Added H5VLnative_addr_to_token_f and H5VLnative_token_to_address_f
* Added H5VLnative_addr_to_token_f and H5VLnative_token_to_address_f tests
* Create test for H5Pget_dxpl_mpio (#3825)
* Create test and add to testphdf5
* Renamed h5fuse.sh to h5fuse (#3834)
* provide an alternative to mapfile for older bash
* Disable FP exceptions in H5T init code (#3837)
The H5T floating-point datatype initialization code can raise exceptions when handling signaling NaNs. This change disables FE_INVALID exceptions during initialization.
Also removes the -ieee=full change for NAG Fortran as that shouldn't be necessary anymore.
Fixes #3831
* Add intel oneapi windows build to CI CMake (#3836)
* Remove printf format warning on Windows oneAPI. (#3838)
* Correct ENV variables (#3841)
* Remove Autotools sed hack (#3848)
configure.ac contains a sed line that cleans up incorrect library
flags which was added to paper over some bugs in earlier versions
of the Autotools. These issues are not a problem with the current
versions of the Autootols.
The sed line causes problems on MacOS, so it has been removed.
Fixes #3843
* Make filter unregister callbacks safe for VOL connectors (#3629)
* Make filter callbacks use top-level API functions
When using VOL connectors, H5I_iterate may not provide
valid object pointers to its callback. This change keeps
existing functionality in H5Zunregister() without using
potentially unsafe pointers.
* Filter callbacks use internal API
* Skip MPI work on non-native VOL
* Add extra space in comments for consistency (#3852)
* Add extra space in comments for consistency
* uncomment tfloatsattrs test
* Update Actions badges to link to relevant workflow (#3850)
* Add CMake long double cross-compile defaults (#3683)
HDF5 performs a couple of checks at build time to see if long double
values can be converted correctly (IBM's Power architecture uses a
special format for long doubles). These checks were performed using
TRY_RUN, which is a problem when cross-compiling.
These checks now use default values appropriate for most non-Power
systems when cross-compiling. The cache values can be pre-set if
necessary, which will preempt both the TRY_RUN and the default.
Affected values:
H5_LDOUBLE_TO_LONG_SPECIAL (default no)
H5_LONG_TO_LDOUBLE_SPECIAL (default no)
H5_LDOUBLE_TO_LLONG_ACCURATE (default yes)
H5_LLONG_TO_LDOUBLE_CORRECT (default yes)
H5_DISABLE_SOME_LDOUBLE_CONV (default no)
Fixes GitHub #3585
* Updates for building and testing VOL connectors
* Fix issue with HDF5_VOL_ALLOW_EXTERNAL CMake variable
* Initialize parallel testing with MPI_THREAD_MULTIPLE when testing API
* Add CMake variable to allow specifying a VOL connector's package name
* Remove call to MPI_Init in serial API tests
While previously necessary, it now interferes with VOL connectors that
may need to be initialized with MPI_THREAD_MULTIPLE
* Fixes for CI and presets (#3853)
* Change dest for doxygen (#3856)
* Implement selection vector I/O with collective chunk filling (#3826)
* Changes for ECP-344: Implement selection vector I/O with collective chunk filling.
Also fix a bug in H5FD__mpio_write_vector() to account for fixed size optimization
when computing max address.
* Fixes based on PR review comments:
For H5Dchunk.c: fix H5MM_xfree()
For H5FDmpio.c:
1) Revert the fix to H5FD__mpio_write_vector()
2) Apply the patch from Neil on the proper length of s_sizes reported by H5FD__mpio_vector_build_types()
* Put back the logic of dividing up the work among all the mpi ranks similar to the
original H5D__chunk_collective_fill() routine.
* Add a test to verify the fix for the illegal reference problem in H5FD__mpio_write_vector().
* Do not publish compression headers or docs (#3865)
* Fix typo: look -> loop (#3866)
* Moved the README to markdown and expanded its overview of the files, file generation, and other Fortran wrapper development practices as mentioned in the HDF5 architectural document. I added a new figure and included the SVG file and the original xfig file it was generated from. (#3862)
* Add HDF5_DISABLE_TESTS_REGEX option to skip tests (#3859)
* Fix typo in error message for `MPI_Type_dup`. (#3867)
* Complete the `if command line option` sentence. (#3868)
* Fix h5dump segmentation fault when --vfd-value option is used (#3873)
* Updated URL in funding.yml (#3882)
Using new shortened URL, might look better.
* Remove unused variable from unmerged changes
* Update src/H5Tinit_float.c
Diffstat (limited to 'release_docs')
-rw-r--r-- | release_docs/INSTALL_CMake.txt | 1 | ||||
-rw-r--r-- | release_docs/RELEASE.txt | 104 |
2 files changed, 96 insertions, 9 deletions
diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt index c395148..230c501 100644 --- a/release_docs/INSTALL_CMake.txt +++ b/release_docs/INSTALL_CMake.txt @@ -879,6 +879,7 @@ if (BUILD_TESTING) if (HDF5_TEST_VFD) HDF5_TEST_FHEAP_VFD "Execute fheap test with different VFDs" ON TEST_SHELL_SCRIPTS "Enable shell script tests" ON + HDF5_DISABLE_TESTS_REGEX "Regex pattern to set execution of specific tests to DISABLED" "" ---------------- External Library Options --------------------- HDF5_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building (NO GIT TGZ)" "NO" diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 4e376f5..04ce910 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -47,7 +47,33 @@ New Features Configuration: ------------- - - + - Added new option for CMake to mark tests as SKIPPED. + + HDF5_DISABLE_TESTS_REGEX is a REGEX string that will be checked with + test names and if there is a match then that test's property will be + set to DISABLED. HDF5_DISABLE_TESTS_REGEX can be initialized on the + command line: "-DHDF5_DISABLE_TESTS_REGEX:STRING=<regex>" + See CMake documentation for regex-specification. + + - Added defaults to CMake for long double conversion checks + + HDF5 performs a couple of checks at build time to see if long double + values can be converted correctly (IBM's Power architecture uses a + special format for long doubles). These checks were performed using + TRY_RUN, which is a problem when cross-compiling. + + These checks now use default values appropriate for most non-Power + systems when cross-compiling. The cache values can be pre-set if + necessary, which will preempt both the TRY_RUN and the default. + + Affected values: + H5_LDOUBLE_TO_LONG_SPECIAL (default no) + H5_LONG_TO_LDOUBLE_SPECIAL (default no) + H5_LDOUBLE_TO_LLONG_ACCURATE (default yes) + H5_LLONG_TO_LDOUBLE_CORRECT (default yes) + H5_DISABLE_SOME_LDOUBLE_CONV (default no) + + Fixes GitHub #3585 Library: @@ -62,7 +88,8 @@ New Features Fortran Library: ---------------- - - + - Added Fortran APIs: + h5vlnative_addr_to_token_f and h5vlnative_token_to_address_f C++ Library: @@ -109,6 +136,29 @@ Bug Fixes since HDF5-1.14.3 release =================================== Library ------- + - Suppressed floating-point exceptions in H5T init code + + The floating-point datatype initialization code in H5Tinit_float.c + could raise FE_INVALID exceptions while munging bits and performing + comparisons that might involve NaN. This was not a problem when the + initialization code was executed in H5detect at compile time (prior + to 1.14.3), but now that the code is executed at library startup + (1.14.3+), these exceptions can be caught by user code, as is the + default in the NAG Fortran compiler. + + Starting in 1.14.4, we now suppress floating-point exceptions while + initializing the floating-point types and clear FE_INVALID before + restoring the original environment. + + Fixes GitHub #3831 + + - Fixed a file handle leak in the core VFD + + When opening a file with the core VFD and a file image, if the file + already exists, the file check would leak the POSIX file handle. + + Fixes GitHub issue #635 + - Dropped support for MPI-2 The MPI-2 supporting artifacts have been removed due to the cessation @@ -122,12 +172,32 @@ Bug Fixes since HDF5-1.14.3 release Configuration ------------- - - + - Removed an Autotools configure hack that causes problems on MacOS + + A sed line in configure.ac was added in the past to paper over some + problems with older versions of the Autotools that would add incorrect + linker flags. This hack is not needed with recent versions of the + Autotools and the sed line errors on MacOS (though this was a silent + error that didn't break the build) so the hack has been removed. + + Fixes GitHub issue #3843 + + - Fixed an issue where the h5tools_test_utils test program was being + installed on the system for Autotools builds of HDF5 + + The h5tools_test_utils test program was mistakenly added to bin_PROGRAMS + in its Makefile.am configuration file, causing the executable to be + installed on the system. The executable is now added to noinst_PROGRAMS + instead and will no longer be installed on the system for Autotools builds + of HDF5. The CMake configuration code already avoids installing the + executable on the system. Tools ----- - - + - Renamed h5fuse.sh to h5fuse + + Addresses Discussion #3791 Performance @@ -299,11 +369,27 @@ Platforms Tested Known Problems ============== - IEEE standard arithmetic enables software to raise exceptions such as overflow, - division by zero, and other illegal operations without interrupting or halting - the program flow. The HDF5 C library intentionally performs these exceptions. - Therefore, the "-ieee=full" nagfor switch is necessary when compiling a program - to avoid stopping on an exception. + When HDF5 is compiled with NVHPC versions 23.5 - 23.9 (additional versions may + also be applicable) and with -O2 (or higher) and -DNDEBUG, test failures occur + in the following tests: + + H5PLUGIN-filter_plugin + H5TEST-flush2 + H5TEST-testhdf5-base + MPI_TEST_t_filters_parallel + + Since these tests pass with an optimization level of -O1 (and -O0) and it is + currently unclear whether the test failures are due to issues in HDF5 or issues + in the 'nvc' compiler, the maximum optimization level for NVHPC has been set + to -O1 until the test failures can be resolved. Note that even at -O1 optimization + level, there still appears to be a sporadic test failure in the Java JUnit tests + that has occasionally been seen in JUnit-TestH5Pfapl and JUnit-TestH5D. It is also + unclear whether this is an issue in HDF5 or with the 'nvc' compiler. Finally, note + that NVHPC 23.9 will fail to compile the test/tselect.c test file with a compiler + error of 'use of undefined value' when the optimization level is -O2 or higher. + Nvidia is aware of this issue and has suggested lowering the optimization level to + -O1 for the time being: + https://forums.developer.nvidia.com/t/hdf5-no-longer-compiles-with-nv-23-9/269045. CMake files do not behave correctly with paths containing spaces. Do not use spaces in paths because the required escaping for handling spaces |