From 399c1324ac5d233ef0f50ff6b5c3ff8a09eeae8c Mon Sep 17 00:00:00 2001
From: Georges Da Costa <dacosta@irit.fr>
Date: Tue, 20 May 2025 15:50:19 +0200
Subject: [PATCH] add support for hyperthreading for MPI

---
 expetator/experiment.py | 6 +++---
 setup.py                | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/expetator/experiment.py b/expetator/experiment.py
index 46aee66..4c4d84f 100755
--- a/expetator/experiment.py
+++ b/expetator/experiment.py
@@ -24,7 +24,7 @@ class Executor:
 
         self.mpi_host_file = '%s/mpi_host_file' % self.tmp_dir
         self.mpi_core_file = '%s/mpi_core_file' % self.tmp_dir
-        self.mpi_options = ''
+        self.mpi_options = '--use-hwthread-cpus'
         self.hostnames = ['localhost']
         self.nbhosts = 1
         self.nbcores = os.cpu_count()
@@ -37,9 +37,9 @@ class Executor:
                 self.hostnames = reduce(lambda l, x: l if x in l else l+[x], content, [])
                 self.nbcores = len(content)
             self.nbhosts = len(self.hostnames)
-            self.mpi_options = '--map-by node --mca orte_rsh_agent oarsh'
+            self.mpi_options = '--map-by node --use-hwthread-cpus --mca orte_rsh_agent oarsh'
             if self.hostnames[0].split('-')[0] in ['grvingt', 'grimani', 'grele', 'troll', 'yeti', 'dahu', 'gros']:
-                self.mpi_options = '-mca mtl psm2 -mca pml ^ucx,ofi -mca btl ^ofi,openib ' + self.mpi_options
+                self.mpi_options = '--use-hwthread-cpus -mca mtl psm2 -mca pml ^ucx,ofi -mca btl ^ofi,openib ' + self.mpi_options
             self.sudo = 'sudo-g5k'
             self.ssh = 'oarsh'
 
diff --git a/setup.py b/setup.py
index 018bbb7..ccbec00 100644
--- a/setup.py
+++ b/setup.py
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
 
 setuptools.setup(
     name="expetator",
-    version="0.3.27",
+    version="0.3.28",
     author="Georges Da Costa",
     author_email="georges.da-costa@irit.fr",
     description="A framework for monitoring HPC applications using DVFS",
-- 
GitLab