From 6d3a9e41654e3b2a2dc7012e3d60ceddbdac264d Mon Sep 17 00:00:00 2001
From: Florent Pruvost <florent.pruvost@inria.fr>
Date: Wed, 4 Mar 2020 15:40:40 +0100
Subject: [PATCH] Tune openmpi mapping option and adapt some parameters to
 improve performances

---
 .../plafrim/parameters/bora/parameters.xml     | 18 +++++++++---------
 tools/bench/plafrim/run.sh                     |  4 ++--
 2 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/tools/bench/plafrim/parameters/bora/parameters.xml b/tools/bench/plafrim/parameters/bora/parameters.xml
index 279d70b5e..8ad5c261e 100644
--- a/tools/bench/plafrim/parameters/bora/parameters.xml
+++ b/tools/bench/plafrim/parameters/bora/parameters.xml
@@ -10,9 +10,9 @@
         <parameter name="nmpi" mode="python" type="int"   >[1, 4, 9][$i_pq]</parameter>
         <parameter name="nthr"               type="int"   >34</parameter>
         <parameter name="ngpu"               type="int"   >0</parameter>
-        <parameter name="b"                  type="int"   >320</parameter>
-        <parameter name="i_mn"               type="int"   >0, 1, 2, 3, 4, 5</parameter>
-        <parameter name="m" mode="python"    type="int"   >[${nmpi}*${b}, ${nmpi}*2*${b}, ${nmpi}*4*${b}, ${nmpi}*8*${b}, ${nmpi}*16*${b}, ${nmpi}*32*${b}][$i_mn]</parameter>
+        <parameter name="b"                  type="int"   >280</parameter>
+        <parameter name="i_mn"               type="int"   >0, 1, 2, 3, 4, 5, 6</parameter>
+        <parameter name="m" mode="python"    type="int"   >[${nmpi}*${b}, ${nmpi}*2*${b}, ${nmpi}*4*${b}, ${nmpi}*8*${b}, ${nmpi}*16*${b}, ${nmpi}*32*${b}, ${nmpi}*48*${b}][$i_mn]</parameter>
         <parameter name="k" mode="python"    type="int"   >${m}</parameter>
         <parameter name="n" mode="python"    type="int"   >${m}</parameter>
         <parameter name="command"            type="string">mpiexec $MPI_OPTIONS -np $nmpi $CHAMELEON_BUILD/testing/chameleon_${precision}testing -o ${algorithm} -P $p -t $nthr -g $ngpu -m $m -n $n -k $k -b $b</parameter>
@@ -27,9 +27,9 @@
         <parameter name="nmpi" mode="python" type="int"   >[1, 4, 9][$i_pq]</parameter>
         <parameter name="nthr"               type="int"   >34</parameter>
         <parameter name="ngpu"               type="int"   >0</parameter>
-        <parameter name="b"                  type="int"   >320</parameter>
-        <parameter name="i_mn"               type="int"   >0, 1, 2, 3, 4, 5</parameter>
-        <parameter name="m" mode="python"    type="int"   >[${nmpi}*${b}, ${nmpi}*2*${b}, ${nmpi}*4*${b}, ${nmpi}*8*${b}, ${nmpi}*16*${b}, ${nmpi}*32*${b}][$i_mn]</parameter>
+        <parameter name="b"                  type="int"   >280</parameter>
+        <parameter name="i_mn"               type="int"   >0, 1, 2, 3, 4, 5, 6</parameter>
+        <parameter name="m" mode="python"    type="int"   >[${nmpi}*${b}, ${nmpi}*2*${b}, ${nmpi}*4*${b}, ${nmpi}*8*${b}, ${nmpi}*16*${b}, ${nmpi}*32*${b}, ${nmpi}*48*${b}][$i_mn]</parameter>
         <parameter name="n" mode="python"    type="int"   >${m}</parameter>
         <parameter name="k"                  type="int"   >1</parameter>
         <parameter name="command"            type="string">mpiexec $MPI_OPTIONS -np $nmpi $CHAMELEON_BUILD/testing/chameleon_${precision}testing -o ${algorithm} -P $p -t $nthr -g $ngpu -m $m -n $n -k $k -b $b</parameter>
@@ -44,9 +44,9 @@
         <parameter name="nmpi" mode="python" type="int"   >[1, 4, 9][$i_pq]</parameter>
         <parameter name="nthr"               type="int"   >34</parameter>
         <parameter name="ngpu"               type="int"   >0</parameter>
-        <parameter name="b"                  type="int"   >320</parameter>
-        <parameter name="i_mn"               type="int"   >0, 1, 2, 3, 4, 5</parameter>
-        <parameter name="m" mode="python"    type="int"   >[${nmpi}*${b}, ${nmpi}*2*${b}, ${nmpi}*4*${b}, ${nmpi}*8*${b}, ${nmpi}*16*${b}, ${nmpi}*32*${b}][$i_mn]</parameter>
+        <parameter name="b"                  type="int"   >280</parameter>
+        <parameter name="i_mn"               type="int"   >0, 1, 2, 3, 4, 5, 6</parameter>
+        <parameter name="m" mode="python"    type="int"   >[${nmpi}*${b}, ${nmpi}*2*${b}, ${nmpi}*4*${b}, ${nmpi}*8*${b}, ${nmpi}*16*${b}, ${nmpi}*32*${b}, ${nmpi}*48*${b}][$i_mn]</parameter>
         <parameter name="n" mode="python"    type="int"   >${m}</parameter>
         <parameter name="k"                  type="int"   >1</parameter>
         <parameter name="command"            type="string">mpiexec $MPI_OPTIONS -np $nmpi $CHAMELEON_BUILD/testing/chameleon_${precision}testing -o ${algorithm} -P $p -t $nthr -g $ngpu -m $m -n $n -k $k -b $b</parameter>
diff --git a/tools/bench/plafrim/run.sh b/tools/bench/plafrim/run.sh
index e33126df5..89a135e0d 100755
--- a/tools/bench/plafrim/run.sh
+++ b/tools/bench/plafrim/run.sh
@@ -43,10 +43,10 @@ then
 fi
 if [ $MPI = "openmpi" ]
 then
-  export MPI_OPTIONS=""
+  export MPI_OPTIONS="--map-by ppr:1:node:pe=36"
   if [ $NODE = "miriel" ]
   then
-    export MPI_OPTIONS="--mca mtl psm"
+    export MPI_OPTIONS="--mca mtl psm --map-by ppr:1:node:pe=24"
   fi
   GUIX_ENV_MPI=""
   GUIX_ADHOC_MPI="openssh openmpi"
-- 
GitLab