summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorJordan Henderson <jhenderson@hdfgroup.org>2018-08-02 14:25:00 (GMT)
committerJordan Henderson <jhenderson@hdfgroup.org>2018-08-02 14:25:00 (GMT)
commit70de0b18e33656d46be7da1d6bcf0f53605b673c (patch)
tree78b984e24ee16b138d051157a663d09fdd005904 /CMakeLists.txt
parentcca9fbcff0e3d8ed4cd2a2b50d00531271214a26 (diff)
parent9aa2eaeb9ed9c94f63973cb55f13de256558497c (diff)
downloadhdf5-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.txt20
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 ()