summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
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 ()