summaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
authorJordan Henderson <jhenderson@hdfgroup.org>2018-07-31 18:42:19 (GMT)
committerJordan Henderson <jhenderson@hdfgroup.org>2018-08-02 14:47:35 (GMT)
commitbccf6e38a4da0a370df82830a3607ae169fcd0cc (patch)
treede7123458455a9b9c2fe05c172eb9ec7114a6de4 /configure.ac
parent7a4025f25916c241289ec0b97baad4c9c29241aa (diff)
downloadhdf5-bccf6e38a4da0a370df82830a3607ae169fcd0cc.zip
hdf5-bccf6e38a4da0a370df82830a3607ae169fcd0cc.tar.gz
hdf5-bccf6e38a4da0a370df82830a3607ae169fcd0cc.tar.bz2
Add Autotools and CMake checks for big I/O MPI-3 functions
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac32
1 files changed, 32 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index dfb3725..cbc7e01 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2533,6 +2533,7 @@ 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])
+AC_SUBST([LARGE_PARALLEL_IO])
if test -n "$PARALLEL"; then
## The 'testpar' directory should participate in the build
@@ -2715,6 +2716,34 @@ if test -n "$PARALLEL"; then
Parallel writes of filtered data will be disabled.])
PARALLEL_FILTERED_WRITES=no]
)
+
+ ## ----------------------------------------------------------------------
+ ## Check for the MPI-3 functions necessary for the big I/O feature.
+ ## If these are not present, issue a warning that the big I/O feature
+ ## will be disabled.
+ ##
+ AC_MSG_CHECKING([for MPI_Get_elements_x and MPI_Type_size_x functions])
+
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+ #include <mpi.h>
+ ]],
+ [[
+ MPI_Count count;
+ MPI_Init(0, (void *) 0);
+ MPI_Get_elements_x(0, 0, &count);
+ MPI_Type_size_x(0, &count);
+ ]]
+ )],
+ [AC_MSG_RESULT([yes])
+ LARGE_PARALLEL_IO=yes],
+ [AC_MSG_RESULT([no])
+ AC_MSG_WARN([A simple MPI program using the MPI_Get_elements_x and MPI_Type_size_x functions could not be compiled and linked.
+ Reading/Writing >2GB of data in a single parallel I/O operation will be disabled.])
+ LARGE_PARALLEL_IO=no]
+ )
+
fi
## ----------------------------------------------------------------------
@@ -3008,6 +3037,9 @@ PARALLEL=${PARALLEL:-no}
## Parallel writes to filtered datasets support?
PARALLEL_FILTERED_WRITES=${PARALLEL_FILTERED_WRITES:-no}
+## >2GB writes in parallel support?
+LARGE_PARALLEL_IO=${LARGE_PARALLEL_IO:-no}
+
## Compiler with version information. This consists of the full path
## name of the compiler and the reported version number.
AC_SUBST([CC_VERSION])