diff --git a/CMakeLists.txt b/CMakeLists.txt index ba5cdfcfd54049ba777f9097eec22f6a92ec8304..979fac87420c62c711cc7435147e0ac41d9f196b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -810,6 +810,12 @@ if ( WALBERLA_BUILD_WITH_MPI AND NOT WALBERLA_CXX_COMPILER_IS_MPI_WRAPPER ) endif ( ) endif ( ) endif ( ) + +# OpenMPI 3.0 and higher checks the number of processes against the number of CPUs +execute_process(COMMAND ${MPIEXEC} --version RESULT_VARIABLE mpi_version_result OUTPUT_VARIABLE mpi_version_output) +if (mpi_version_result EQUAL 0 AND mpi_version_output MATCHES "\\(Open(RTE| MPI)\\) ([3-9]\\.|1[0-9])") + set ( MPIEXEC_PREFLAGS "${MPIEXEC_PREFLAGS} -oversubscribe" ) +endif() ############################################################################################################################