Skip to content

Commit

Permalink
Merge pull request #1629 from NOAA-GSD/ejh_more_szip_7
Browse files Browse the repository at this point in the history
check szip parameters for validity, plus all other outstanding szip work...
  • Loading branch information
WardF authored Feb 12, 2020
2 parents b5faf8d + 164de98 commit 0a9e5c3
Show file tree
Hide file tree
Showing 18 changed files with 2,577 additions and 2,166 deletions.
2 changes: 2 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ This file contains a high-level description of this package's evolution. Release

## 4.7.4 - TBD

* [Enhancement] Now nc_inq_var_szip retuns 0 for parameter values if szip is not in use for var. See [https://github.com/Unidata/netcdf-c/issues/1618].
* [Enhancement] Now allow parallel I/O with filters, for HDF5-1.10.3 and later. See [https://github.com/Unidata/netcdf-c/issues/1473].
* [Enhancement] Increased default size of cache buffer to 16 MB, from 4 MB. Increased number of slots to 4133. See [https://github.com/Unidata/netcdf-c/issues/1541].
* [Enhancement] Allow zlib compression to be used with parallel I/O writes, if HDF5 version is 1.10.3 or greater. See [https://github.com/Unidata/netcdf-c/issues/1580].
* [Enhancement] Restore use of szip compression when writing data (including writing in parallel if HDF5 version is 1.10.3 or greater). See [https://github.com/Unidata/netcdf-c/issues/1546].
Expand Down
21 changes: 9 additions & 12 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -1047,7 +1047,7 @@ if test "x$enable_hdf5" = xyes; then

# H5Pset_fapl_mpiposix and H5Pget_fapl_mpiposix have been removed since HDF5 1.8.12.
# Use H5Pset_fapl_mpio and H5Pget_fapl_mpio, instead.
AC_CHECK_FUNCS([H5Pget_fapl_mpio H5Pset_deflate H5Z_SZIP H5free_memory H5resize_memory H5allocate_memory H5Pset_libver_bounds H5Pset_all_coll_metadata_ops H5Z_SZIP H5Dread_chunk])
AC_CHECK_FUNCS([H5Pget_fapl_mpio H5Pset_deflate H5Z_SZIP H5free_memory H5resize_memory H5allocate_memory H5Pset_libver_bounds H5Pset_all_coll_metadata_ops H5Dread_chunk])

# Check to see if HDF5 library has collective metadata APIs, (HDF5 >= 1.10.0)
if test "x$ac_cv_func_H5Pset_all_coll_metadata_ops" = xyes; then
Expand All @@ -1062,29 +1062,25 @@ if test "x$enable_hdf5" = xyes; then
AC_MSG_CHECKING([whether parallel io is enabled in hdf5])
AC_MSG_RESULT([$hdf5_parallel])

# Check to see if HDF5 library is 1.10.3 or greater. If so, allows parallel_zip.
# Check to see if HDF5 library is 1.10.3 or greater. If so, allows
# parallel I/O with filters. This allows zlib/szip compression to
# be used with parallel I/O, which is very helpful to HPC users.
if test "x$ac_cv_func_H5Dread_chunk" = xyes; then
AC_DEFINE([HDF5_SUPPORTS_PAR_FILTERS], [1], [if true, HDF5 is at least version 1.10.3 and allows parallel I/O with zip])
hdf5_supports_par_filters=yes
fi
AC_MSG_CHECKING([whether HDF5 is version 1.10.3 or greater])
AC_MSG_CHECKING([whether HDF5 allows parallel filters])
AC_MSG_RESULT([$ac_cv_func_H5Dread_chunk])
AC_SUBST([HAS_PAR_FILTERS], [$hdf5_supports_par_filters])

# Check to see if we need to search for and link against szlib.
if test "x$ac_cv_func_H5Z_SZIP" = xyes; then
AC_SEARCH_LIBS([SZ_BufftoBuffCompress], [szip sz], [],
[AC_MSG_ERROR([libhdf5 installed with szip support, but cannot find or link to the szip library.])])
fi


# Check to see if user asked for parallel build, but HDF5 does not support it.
if test "x$hdf5_parallel" = "xno"; then
if test "x$enable_parallel_tests" = "xyes"; then
AC_MSG_ERROR([Parallel tests requested, but no parallel HDF5 installation detected.])
fi
fi

# The user may have built HDF5 with the SZLIB library.
# Check whether HDF5 was built with the SZLIB library. If so we
# must be able to link to szip library.
AC_MSG_CHECKING([whether szlib was used when building HDF5])
enable_szlib=no
if test "x$ac_cv_func_H5Z_SZIP" = xyes; then
Expand All @@ -1095,6 +1091,7 @@ if test "x$enable_hdf5" = xyes; then

fi
AM_CONDITIONAL(HAS_PAR_FILTERS, [test x$hdf5_supports_par_filters = xyes ])
AC_SUBST([HAS_PAR_FILTERS], [$hdf5_supports_par_filters])

# If the user wants hdf4 built in, check it out.
if test "x$enable_hdf4" = xyes; then
Expand Down
Loading

0 comments on commit 0a9e5c3

Please sign in to comment.