Commit 554cc062 authored by Thomas Jahns's avatar Thomas Jahns 🤸
Browse files

Align handling of MPI runs with YAXT.

* If an MPI launcher is available, we want to run the tests, even if
  the result is ignored in setups with --without-regard-for-quality,
  because the orthogonal MPI_LAUNCH=true setting is sufficient to
  suppress MPI run-time tests if desired.
parent 51f3a6c5
......@@ -440,23 +440,27 @@ AC_ARG_WITH([regard-for-quality],
[AS_IF([test x"$withval" != no],
[with_regard_for_quality=yes])],[with_regard_for_quality=yes])
AS_IF([test $enable_MPI = yes],
[ACX_MPIRUN(,,
[AS_IF([test $with_regard_for_quality = yes],
[AC_MSG_FAILURE([$MPI_LAUNCH_failMsg])],
[enable_MPI=no ; enable_mpi_type_dup_rma=no
AC_MSG_WARN([unable to find a working MPI launcher required for checks for known MPI defect (see --without-regard-for-quality), MPI support is disabled])])])])
[ACX_MPIRUN(,[saved_MPI_LAUNCH=$MPI_LAUNCH],
[AC_MSG_WARN([$MPI_LAUNCH_failMsg])
AS_VAR_IF([with_regard_for_quality], [yes],
[AC_MSG_FAILURE([unable to find a working MPI launch program, which is
required for checks for known MPI defects (see --without-regard-for-quality)])],
[saved_MPI_LAUNCH=$MPI_LAUNCH ; MPI_LAUNCH=true])])])
AC_ARG_VAR([NOMPI_LAUNCH],
[optional command prefix for running test programs not using MPI
This will most often be empty, but can be used to e.g. forward commands to
another cluster node, adjust CPU frequency governor, or bind the task.])
AS_IF([test $enable_MPI = yes && test $with_regard_for_quality = yes],
AS_IF([test $enable_MPI = yes],
[ACX_MPI_DEFECTS(,,
[ACX_MPI_DEFECTS_DOCUMENT
AS_CASE([$acx_subtestname],[openmpi-typedup-rma],
[AC_MSG_WARN([known OpenMPI pre-1.7.x problem detected that might affect distributed array!])],
[AC_MSG_FAILURE([test for known defect $acx_subtestname failed, dnl
re-configure with option --without-regard-for-quality in case you must use dnl
the given MPI implementation])])])])
[AS_VAR_IF([with_regard_for_quality],[yes],
[AC_MSG_FAILURE([test for known defect $acx_subtestname failed,
re-configure with --without-regard-for-quality in case you must use the
given MPI implementation, but some tests might fail])],
[AC_MSG_NOTICE([ignoring failed test for known defect $acx_subtestname,
because configure option --without-regard-for-quality is active])])])])])
AS_IF([test $enable_MPI = no],
[MPI_C_INCLUDE= MPI_C_LIB= MPI_FC_LIB= MPI_FC_INCLUDE= MPI_FINT_FC_KIND=-1],
[AC_DEFINE([USE_MPI],[1],[use MPI parallel process environment])
......@@ -482,6 +486,7 @@ echo '@%:@define HAVE_'"$mpi_int2test" >>include/f77/mpi_fc_conf.inc],
[ use iso_c_binding],[@%:@include <mpi.h>],
[MPI_FINT_FC_KIND=$acx_fortran_kind_subst],
[MPI_FINT_FC_KIND=$acx_fortran_kind_subst])])
MPI_LAUNCH=$saved_MPI_LAUNCH
CFLAGS=$save_CFLAGS
FCFLAGS=$save_FCFLAGS
LIBS=$save_LIBS
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment