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-07-26 17:50:26 (GMT)
commite1e10743cf342509b5e89b50fc43fb1d52a9c8d2 (patch)
tree4801126aeea3b4ac5960dfa41169a5fe0fe4e6c3 /configure.ac
parent5550fb330a00ef75b6ab6daa6d8dae8bcf832185 (diff)
downloadhdf5-e1e10743cf342509b5e89b50fc43fb1d52a9c8d2.zip
hdf5-e1e10743cf342509b5e89b50fc43fb1d52a9c8d2.tar.gz
hdf5-e1e10743cf342509b5e89b50fc43fb1d52a9c8d2.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 18ede67..5dc965e 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])