Skip to content

Commit e12db5f

Browse files
committed
Check OpenMPI version if >= 5.0.6
When using OpenMPI, add mpiexec command-line option --oversubscribe
1 parent d89957d commit e12db5f

File tree

3 files changed

+23
-4
lines changed

3 files changed

+23
-4
lines changed

darshan-runtime/configure.ac

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -690,8 +690,22 @@ if test "x$enable_darshan_runtime" = xyes ; then
690690
#error OPENMPI FOUND
691691
#endif
692692
])],
693-
[],
694-
[AC_DEFINE(HAVE_OPEN_MPI, 1, Define if OpenMPI is being used)])
693+
[is_ompi=0], [is_ompi=1])
694+
695+
if test "x$is_ompi" = x1 ; then
696+
AC_DEFINE(HAVE_OPEN_MPI, 1, [Define if OpenMPI is being used])
697+
698+
dnl Check if version is 5.0.6 or later
699+
AC_MSG_CHECKING([Check if OpenMPI version is 5.0.6 or later])
700+
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <mpi.h>
701+
#if (OMPI_MAJOR_VERSION*1000000 + OMPI_MINOR_VERSION*1000 + OMPI_RELEASE_VERSION < 5000006)
702+
choke me
703+
#endif
704+
]])], [ompi_ge_5_0_6=1], [ompi_ge_5_0_6=0])
705+
AC_MSG_RESULT([$ompi_ge_5_0_6])
706+
AC_DEFINE_UNQUOTED(OMPI_GE_5_0_6, [$ompi_ge_5_0_6],
707+
[Define if OpenMPI version is 5.0.6 or later])
708+
fi
695709

696710
# determine if the MPI library includes MPI-IO functions or not
697711
AC_MSG_CHECKING(for MPI-IO support in MPI)

darshan-runtime/test/Makefile.am

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ AM_TESTS_ENVIRONMENT += export TST_DARSHAN_LOG_PATH="$(__DARSHAN_LOG_PATH)";
1717
AM_TESTS_ENVIRONMENT += export DARSHAN_INSTALL_DIR="$(prefix)";
1818
AM_TESTS_ENVIRONMENT += export USERNAME_ENV="$(USERNAME_ENV)";
1919
AM_TESTS_ENVIRONMENT += export HAVE_MPI_LARGE_COUNT="$(HAVE_MPI_LARGE_COUNT)";
20+
AM_TESTS_ENVIRONMENT += export HAVE_OPEN_MPI="$(HAVE_OPEN_MPI)";
21+
AM_TESTS_ENVIRONMENT += export OMPI_GE_5_0_6="$(OMPI_GE_5_0_6)";
2022
AM_TESTS_ENVIRONMENT += export check_PROGRAMS="$(check_PROGRAMS)";
2123

2224
TESTS = tst_runs.sh

darshan-runtime/test/tst_runs.sh

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,15 @@ echo "DARSHAN_CONFIG=$DARSHAN_CONFIG"
3434

3535
$DARSHAN_CONFIG --all
3636

37-
# run NP number of MPI processes
38-
# Note when using OpenMPI, setting NP > 2 will fail.
37+
# run NP number of MPI processes, default 2
3938
if test "x$NP" = x ; then
4039
NP=2
4140
fi
4241

42+
if test "x$HAVE_OPEN_MPI" != x ; then
43+
TESTMPIRUN="$TESTMPIRUN --oversubscribe"
44+
fi
45+
4346
TEST_FILE=./testfile.dat
4447

4548
# tst_mpi_io.c takes the following command-line options.

0 commit comments

Comments
 (0)