File tree Expand file tree Collapse file tree 3 files changed +24
-12
lines changed
Expand file tree Collapse file tree 3 files changed +24
-12
lines changed Original file line number Diff line number Diff line change 1212jobs :
1313 buildTestAnalyze :
1414 # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
15- # The reason to use ubuntu-22 .04: https://bugs.launchpad.net/ubuntu/+source/mpich/+bug/2072338
16- runs-on : ubuntu-22 .04
15+ # A known bug using MPICH ubuntu-24 .04: https://bugs.launchpad.net/ubuntu/+source/mpich/+bug/2072338
16+ runs-on : ubuntu-24 .04
1717 strategy :
1818 matrix :
1919 compiler :
4141 - name : Install mpi
4242 run : |
4343 sudo apt-get update -yq
44- sudo apt-get install -yq mpich libmpich -dev
44+ sudo apt-get install -yq openmpi-bin libopenmpi -dev
4545
4646 - name : ADIOS2 Create Build Environment
4747 run : /usr/bin/cmake -E make_directory ${{runner.workspace}}/build-adios2
@@ -147,6 +147,7 @@ jobs:
147147 run : /usr/bin/cmake $GITHUB_WORKSPACE/redev
148148 -DCMAKE_CXX_COMPILER=mpicxx
149149 -DCMAKE_C_COMPILER=mpicc
150+ -DMPIEXEC_PREFLAGS="--oversubscribe"
150151 -DCMAKE_BUILD_TYPE=${{matrix.build_type}}
151152 -DADIOS2_DIR=${{runner.workspace}}/build-adios2/install/lib/cmake/adios2/
152153 -DADIOS2_HAVE_SST=ON
Original file line number Diff line number Diff line change @@ -62,6 +62,7 @@ include(CTest)
6262if (BUILD_TESTING)
6363 message (STATUS "MPIEXEC_EXECUTABLE: ${MPIEXEC_EXECUTABLE} " )
6464 message (STATUS "MPIEXEC_NUMPROC_FLAG: ${MPIEXEC_NUMPROC_FLAG} " )
65+ message (STATUS "MPIEXEC_PREFLAGS: ${MPIEXEC_PREFLAGS} " )
6566
6667 set (ADIOS2_BPLS_PATH CACHE FILEPATH "Path to the ADIOS2 bpls utility" )
6768 if (ADIOS2_BPLS_PATH AND NOT EXISTS ${ADIOS2_BPLS_PATH} )
@@ -91,7 +92,7 @@ if(BUILD_TESTING)
9192 removeAdiosFiles(${TESTNAME} _cleanup)
9293 add_test (
9394 NAME ${TESTNAME}
94- COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${PROCS} ${VALGRIND} ${VALGRIND_ARGS} ${EXE} ${ARGN}
95+ COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_PREFLAGS} ${ MPIEXEC_NUMPROC_FLAG} ${PROCS} ${VALGRIND} ${VALGRIND_ARGS} ${EXE} ${ARGN}
9596 )
9697 endfunction (mpi_test)
9798
@@ -103,6 +104,7 @@ if(BUILD_TESTING)
103104 add_test (NAME ${DUALTEST_TESTNAME}
104105 COMMAND ${CMAKE_CURRENT_SOURCE_DIR} /runMultipleMpiJobs.sh
105106 ${MPIEXEC_EXECUTABLE}
107+ ${MPIEXEC_PREFLAGS}
106108 ${MPIEXEC_NUMPROC_FLAG}
107109 ${DUALTEST_NAME1} ${DUALTEST_PROCS1} ${DUALTEST_EXE1} "${DUALTEST_ARGS1} "
108110 ${DUALTEST_NAME2} ${DUALTEST_PROCS2} ${DUALTEST_EXE2} "${DUALTEST_ARGS2} " )
@@ -117,6 +119,7 @@ if(BUILD_TESTING)
117119 add_test (NAME ${TRITEST_TESTNAME}
118120 COMMAND ${CMAKE_CURRENT_SOURCE_DIR} /runMultipleMpiJobs.sh
119121 ${MPIEXEC_EXECUTABLE}
122+ ${MPIEXEC_PREFLAGS}
120123 ${MPIEXEC_NUMPROC_FLAG}
121124 ${TRITEST_NAME1} ${TRITEST_PROCS1} ${TRITEST_EXE1} "${TRITEST_ARGS1} "
122125 ${TRITEST_NAME2} ${TRITEST_PROCS2} ${TRITEST_EXE2} "${TRITEST_ARGS2} "
Original file line number Diff line number Diff line change 11#! /bin/bash -x
2- [[ $# != 10 && $# != 14 && $# != 20 ]] && \
3- echo " Usage: <run command> <process flag> <name0> <procs0> <exe0> <args0> ... <name2> <procs2> <exe2> <args2>" && \
2+ if [[ $# == 10 || $# == 14 || $# == 20 ]]; then
3+ # Old format: no preflags
4+ runCmd=${1}
5+ numProcsFlag=${2}
6+ preFlags=" "
7+ shift 2
8+ elif [[ $# == 11 || $# == 15 || $# == 21 ]]; then
9+ # New format: with preflags
10+ runCmd=${1}
11+ preFlags=${2}
12+ numProcsFlag=${3}
13+ shift 3
14+ else
15+ echo " Usage: <run command> <process flag> <preflags> <name0> <procs0> <exe0> <args0> ... <name2> <procs2> <exe2> <args2>" && \
416 exit 1
5- runCmd=${1}
6- numProcsFlag=${2}
7- shift 2
17+ fi
818
9- declare -a PIDS
10- declare -a LOGS
1119run () {
1220 local name=${1}
1321 local procs=${2}
1422 local exe=${3}
1523 local args=${4}
1624 IFS=' ;' read -a argsArray <<< " ${args}" # split the cmake list of args
17- ${runCmd} ${numProcsFlag} ${procs} ${exe} ${argsArray[@]} & > ${name} .log &
25+ ${runCmd} ${preFlags} ${ numProcsFlag} ${procs} ${exe} ${argsArray[@]} & > ${name} .log &
1826 PIDS+=($! )
1927 LOGS+=(${name} .log)
2028}
You can’t perform that action at this time.
0 commit comments