summaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
authorJordan Henderson <jhenderson@hdfgroup.org>2018-07-26 17:50:26 (GMT)
committerJordan Henderson <jhenderson@hdfgroup.org>2018-08-02 14:46:34 (GMT)
commit0623b06b15a6b33d05393f481994ebfb1a22b48c (patch)
tree227020aa4089575d53b9023b9f55aea19c76eadf /configure.ac
parent07c33d0eb86a990b1babf0f9718578fe2755ff5d (diff)
downloadhdf5-0623b06b15a6b33d05393f481994ebfb1a22b48c.zip
hdf5-0623b06b15a6b33d05393f481994ebfb1a22b48c.tar.gz
hdf5-0623b06b15a6b33d05393f481994ebfb1a22b48c.tar.bz2
Add configure check for MPI_Mprobe and MPI_Imrecv functions
Add line to libhdf5settings file for status of Parallel writes to filtered datasets status Surround Parallel Compression code in MPI_VERSION >= 3 checks Add disabled message for Parallel Compression built w/ MPI-2 Modify Parallel Compression tests to only run the parallel filtered read tests when parallel filtered writes are disabled Update big I/O code to handle being built with MPI-2 Add checks to CMakeLists.txt for MPI_Mprobe and MPI_Imrecv
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac31
1 files changed, 31 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 9a8f961..dfb3725 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2532,6 +2532,7 @@ esac
AC_SUBST([ADD_PARALLEL_FILES]) ADD_PARALLEL_FILES="no"
AC_SUBST([MPE]) MPE=no
AC_SUBST([INSTRUMENT_LIBRARY]) INSTRUMENT_LIBRARY=no
+AC_SUBST([PARALLEL_FILTERED_WRITES])
if test -n "$PARALLEL"; then
## The 'testpar' directory should participate in the build
@@ -2687,6 +2688,33 @@ if test -n "$PARALLEL"; then
if test "X-$MPE" = "X-yes"; then
AC_DEFINE([HAVE_MPE], [1], [Define if we have MPE support])
fi
+
+ ## ----------------------------------------------------------------------
+ ## Check for the MPI-3 functions necessary for the Parallel Compression
+ ## feature. If these are not present, issue a warning that Parallel
+ ## Compression will be disabled.
+ ##
+ AC_MSG_CHECKING([for MPI_Mprobe and MPI_Imrecv functions])
+
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+ #include <mpi.h>
+ ]],
+ [[
+ MPI_Message message;
+ MPI_Init(0, (void *) 0);
+ MPI_Mprobe(0, 0, 0, &message, (void *) 0);
+ MPI_Imrecv((void *) 0, 0, 0, (void *) 0, (void *) 0);
+ ]]
+ )],
+ [AC_MSG_RESULT([yes])
+ PARALLEL_FILTERED_WRITES=yes],
+ [AC_MSG_RESULT([no])
+ AC_MSG_WARN([A simple MPI program using the MPI_Mprobe and MPI_Imrecv functions could not be compiled and linked.
+ Parallel writes of filtered data will be disabled.])
+ PARALLEL_FILTERED_WRITES=no]
+ )
fi
## ----------------------------------------------------------------------
@@ -2977,6 +3005,9 @@ AC_SUBST([WORDS_BIGENDIAN])
## Parallel support? (set above except empty if none)
PARALLEL=${PARALLEL:-no}
+## Parallel writes to filtered datasets support?
+PARALLEL_FILTERED_WRITES=${PARALLEL_FILTERED_WRITES:-no}
+
## Compiler with version information. This consists of the full path
## name of the compiler and the reported version number.
AC_SUBST([CC_VERSION])