From fa58d81049f13033b5faa6af7fab7150e5f245f8 Mon Sep 17 00:00:00 2001 From: Peter Willendrup Date: Tue, 15 Sep 2026 18:53:28 +0200 Subject: [PATCH 1/5] Experiment: --mpi=1 by default --- tools/Python/mcrun/mcrun.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/Python/mcrun/mcrun.py b/tools/Python/mcrun/mcrun.py index bc6ed3fc37..a8aa798414 100644 --- a/tools/Python/mcrun/mcrun.py +++ b/tools/Python/mcrun/mcrun.py @@ -248,7 +248,7 @@ def add_mcrun_adv_options(parser): # Multiprocessing add('--mpi', - metavar='NB_CPU', + metavar='NB_CPU', default=1, help='Spread simulation over NB_CPU machines using MPI') add('--machines', From 3d260902b7bc1ee1437fba6311990af7a17baed9 Mon Sep 17 00:00:00 2001 From: Peter Willendrup Date: Tue, 15 Sep 2026 19:19:09 +0200 Subject: [PATCH 2/5] Improved --help with option to disable mpi-compilation (--mpi=None/--mpi=0/--mpi=-1) --- tools/Python/mcrun/mcrun.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/tools/Python/mcrun/mcrun.py b/tools/Python/mcrun/mcrun.py index a8aa798414..723955943a 100644 --- a/tools/Python/mcrun/mcrun.py +++ b/tools/Python/mcrun/mcrun.py @@ -249,7 +249,7 @@ def add_mcrun_adv_options(parser): # Multiprocessing add('--mpi', metavar='NB_CPU', default=1, - help='Spread simulation over NB_CPU machines using MPI') + help='Spread simulation over NB_CPU machines using MPI. Compilation with MPI is enabled by default, disable by setting --mpi=None or --mpi=0') add('--machines', metavar='machines', @@ -429,7 +429,23 @@ def expand_options(options): # MPI if options.mpi is not None: - options.use_mpi = True + # String-based --mpi input, anything but "None" means enable mpi + if isinstance(options.mpi,str): + if not (options.mpi.upper()=="NONE"): + # Enable + options.use_mpi = True + else: + # Disable + options.mpi=None + options.use_mpi = False + # Numeric --mpi input any value >0 means enable mpi + elif not (options.mpi<1): + # Enable + options.use_mpi = True + else: + # Disable + options.mpi=None + options.use_mpi = False if options.openacc is True: options.cc = mccode_config.compilation['OACC'] else: From 4673ab1904a6353949ab803c4ef41b540b0286aa Mon Sep 17 00:00:00 2001 From: Peter Willendrup Date: Tue, 15 Sep 2026 19:20:48 +0200 Subject: [PATCH 3/5] Should enable auto-compilation by mpi in mcgui --- tools/Python/mcgui/mcgui.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/Python/mcgui/mcgui.py b/tools/Python/mcgui/mcgui.py index 2f0b5c8745..b5c6593eca 100755 --- a/tools/Python/mcgui/mcgui.py +++ b/tools/Python/mcgui/mcgui.py @@ -215,7 +215,7 @@ def canPlot(self): return ((self.__instrFile != "") and (not self.isSimRunning())) __thread_exc_signal = QtCore.Signal(str) - def compile(self, mpi=False): + def compile(self, mpi=True): # using Qt in-built cross-thread signaling self.__thread_exc_signal.connect(handleExceptionMsg) From 52023b1e9f2769cc5c13c4e10a7e1ee6950b7f89 Mon Sep 17 00:00:00 2001 From: Peter Willendrup Date: Tue, 15 Sep 2026 19:31:28 +0200 Subject: [PATCH 4/5] Starting value "MPI" in run dialogue --- tools/Python/mcgui/widgets.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/Python/mcgui/widgets.py b/tools/Python/mcgui/widgets.py index 659545549f..b7772b43c0 100644 --- a/tools/Python/mcgui/widgets.py +++ b/tools/Python/mcgui/widgets.py @@ -631,6 +631,8 @@ def retranslateUi(self, dlgStartSim): self.cbxClustering.setItemText(4, _translate("dlgStartSim", "OpenACC (recompile)")) self.cbxClustering.setItemText(5, _translate("dlgStartSim", "OpenACC and MPI")) self.cbxClustering.setItemText(6, _translate("dlgStartSim", "OpenACC and MPI (recompile)")) + self.cbxClustering.setCurrentIndex(1) + self.lblInspect.setText(_translate( "dlgStartSim", "Inspect:")) self.lblAutoPlot.setText(_translate( "dlgStartSim", "Autoplot:")) self.lblAutoPlot.setToolTip(_translate( "dlgStartSim", "Automatically show results with selected plotter at the end")) From e6d3b7945b04cd2324418434379a55e0000278be Mon Sep 17 00:00:00 2001 From: Peter Willendrup Date: Thu, 17 Sep 2026 19:22:29 +0200 Subject: [PATCH 5/5] Drop non-mpi runs --- .github/workflows/mcstas-basictest.yml | 1 - .github/workflows/mcxtrace-basictest.yml | 1 - 2 files changed, 2 deletions(-) diff --git a/.github/workflows/mcstas-basictest.yml b/.github/workflows/mcstas-basictest.yml index 3ddf1beeb0..3a11718e3f 100644 --- a/.github/workflows/mcstas-basictest.yml +++ b/.github/workflows/mcstas-basictest.yml @@ -381,7 +381,6 @@ jobs: fi test -n "$(command -v mcstas${EXESUFFIX})" mcstas${EXESUFFIX} --version - mctest${SUFFIX} --verbose --instr=BNL_H8,ISIS_CRISP,templateSANS_Mantid,NCrystal_example,ESS_BEER_MCPL,Test_MCPL_input,Test_MCPL_output,Test_KDSource,Masked_ESS_butterfly_image --testdir=run_basictests --suffix=${{ matrix.cogen }}_${{ matrix.method }}_${{ matrix.CC || 'default' }} --uid=${MYWORKERID} if [ "${{ matrix.nmpi }}" != "0" ]; then mctest${SUFFIX} --verbose --mpi=${{ matrix.nmpi }} --instr=BNL_H8,ISIS_CRISP,templateSANS_Mantid,NCrystal_example,ESS_BEER_MCPL,Test_MCPL_input,Test_MCPL_output,Test_KDSource,Masked_ESS_butterfly_image --testdir=run_basictests --suffix=${{ matrix.cogen }}_${{ matrix.method }}_${{ matrix.CC || 'default' }}_${{ matrix.mpi }} --uid=${MYWORKERID} diff --git a/.github/workflows/mcxtrace-basictest.yml b/.github/workflows/mcxtrace-basictest.yml index 36ded9b846..f56f5bee11 100644 --- a/.github/workflows/mcxtrace-basictest.yml +++ b/.github/workflows/mcxtrace-basictest.yml @@ -388,7 +388,6 @@ jobs: fi test -n "$(command -v mcxtrace${EXESUFFIX})" mcxtrace${EXESUFFIX} --version - mxtest${SUFFIX} --verbose --instr=JJ_SAXS,ESRF_BM29,Test_MCPL_input,Test_MCPL_output,Test_Absorption --testdir=run_basictests --suffix=${{ matrix.cogen }}_${{ matrix.method }}_${{ matrix.CC || 'default' }} --uid=${MYWORKERID} if [ "${{ matrix.nmpi }}" != "0" ]; then mxtest${SUFFIX} --verbose --mpi=${{ matrix.nmpi }} --instr=JJ_SAXS,ESRF_BM29,Test_MCPL_input,Test_MCPL_output,Test_Absorption --testdir=run_basictests --suffix=${{ matrix.cogen }}_${{ matrix.method }}_${{ matrix.CC || 'default' }}_${{ matrix.mpi }} --uid=${MYWORKERID}