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-07-31 18:42:19 (GMT)
commit9aa2eaeb9ed9c94f63973cb55f13de256558497c (patch)
treebfa28bf339ec7a0536a65663292a9c55d311bdee /configure.ac
parent5e138dc1e91a4ec61d9383397e0e11c6bbbcbe5e (diff)
downloadhdf5-9aa2eaeb9ed9c94f63973cb55f13de256558497c.zip
hdf5-9aa2eaeb9ed9c94f63973cb55f13de256558497c.tar.gz
hdf5-9aa2eaeb9ed9c94f63973cb55f13de256558497c.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 5dc965e..f7262f5 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])