diff options
author | Jordan Henderson <jhenderson@hdfgroup.org> | 2018-08-02 14:25:00 (GMT) |
---|---|---|
committer | Jordan Henderson <jhenderson@hdfgroup.org> | 2018-08-02 14:25:00 (GMT) |
commit | 70de0b18e33656d46be7da1d6bcf0f53605b673c (patch) | |
tree | 78b984e24ee16b138d051157a663d09fdd005904 /CMakeLists.txt | |
parent | cca9fbcff0e3d8ed4cd2a2b50d00531271214a26 (diff) | |
parent | 9aa2eaeb9ed9c94f63973cb55f13de256558497c (diff) | |
download | hdf5-70de0b18e33656d46be7da1d6bcf0f53605b673c.zip hdf5-70de0b18e33656d46be7da1d6bcf0f53605b673c.tar.gz hdf5-70de0b18e33656d46be7da1d6bcf0f53605b673c.tar.bz2 |
Merge pull request #1167 in HDFFV/hdf5 from ~JHENDERSON/hdf5:bugfix/MPI2_only_fixes to develop
* commit '9aa2eaeb9ed9c94f63973cb55f13de256558497c':
Add Autotools and CMake checks for big I/O MPI-3 functions
Add hdf5settings section for parallel compression status in CMake builds
Switch to CheckSymbolExists in CMake
Add configure check for MPI_Mprobe and MPI_Imrecv functions
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 6a6d708..cd69fb2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -559,6 +559,26 @@ if (HDF5_ENABLE_PARALLEL) # Used by Fortran + MPI CHECK_SYMBOL_EXISTS (MPI_Comm_c2f "${MPI_C_INCLUDE_DIRS}/mpi.h" H5_HAVE_MPI_MULTI_LANG_Comm) CHECK_SYMBOL_EXISTS (MPI_Info_c2f "${MPI_C_INCLUDE_DIRS}/mpi.h" H5_HAVE_MPI_MULTI_LANG_Info) + + # Used by Parallel Compression feature + set (PARALLEL_FILTERED_WRITES ON) + CHECK_SYMBOL_EXISTS (MPI_Mprobe "${MPI_C_INCLUDE_DIRS}/mpi.h" H5_HAVE_MPI_Mprobe) + CHECK_SYMBOL_EXISTS (MPI_Imrecv "${MPI_C_INCLUDE_DIRS}/mpi.h" H5_HAVE_MPI_Imrecv) + if (NOT H5_HAVE_MPI_Mprobe OR NOT H5_HAVE_MPI_Imrecv) + message (WARNING "The MPI_Mprobe and/or MPI_Imrecv functions could not be located. + Parallel writes of filtered data will be disabled.") + set (PARALLEL_FILTERED_WRITES OFF) + endif () + + # Used by big I/O feature + set (LARGE_PARALLEL_IO ON) + CHECK_SYMBOL_EXISTS (MPI_Get_elements_x "${MPI_C_INCLUDE_DIRS}/mpi.h" H5_HAVE_MPI_Get_elements_x) + CHECK_SYMBOL_EXISTS (MPI_Type_size_x "${MPI_C_INCLUDE_DIRS}/mpi.h" H5_HAVE_MPI_Type_size_x) + if (NOT H5_HAVE_MPI_Get_elements_x OR NOT H5_HAVE_MPI_Type_size_x) + message (WARNING "The MPI_Get_elements_x and/or MPI_Type_size_x functions could not be located. + Reading/Writing >2GB of data in a single parallel I/O operation will be disabled.") + set (LARGE_PARALLEL_IO OFF) + endif () else () message (STATUS "Parallel libraries not found") endif () |