From 56eb9c61ce38a0f0ffcf6dd95615717115e401d1 Mon Sep 17 00:00:00 2001 From: Florent Pruvost <florent.pruvost@inria.fr> Date: Thu, 13 Apr 2023 15:07:50 +0200 Subject: [PATCH] Fix plafrim benchmarks with nmad: use hwloc-bind for CPU binding --- tools/bench/plafrim/parameters/bora/parameters.xml | 6 +++--- tools/bench/plafrim/parameters/sirocco/parameters.xml | 6 +++--- tools/bench/plafrim/run.sh | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/tools/bench/plafrim/parameters/bora/parameters.xml b/tools/bench/plafrim/parameters/bora/parameters.xml index 8ad5c261e..67e444eb8 100644 --- a/tools/bench/plafrim/parameters/bora/parameters.xml +++ b/tools/bench/plafrim/parameters/bora/parameters.xml @@ -15,7 +15,7 @@ <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> + <parameter name="command" type="string">mpiexec -np $nmpi $MPI_OPTIONS $CHAMELEON_BUILD/testing/chameleon_${precision}testing -o ${algorithm} -P $p -t $nthr -g $ngpu -m $m -n $n -k $k -b $b</parameter> </parameterset> <parameterset name="param_potrf"> <parameter name="hostname" type="string">bora</parameter> @@ -32,7 +32,7 @@ <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> + <parameter name="command" type="string">mpiexec -np $nmpi $MPI_OPTIONS $CHAMELEON_BUILD/testing/chameleon_${precision}testing -o ${algorithm} -P $p -t $nthr -g $ngpu -m $m -n $n -k $k -b $b</parameter> </parameterset> <parameterset name="param_geqrf"> <parameter name="hostname" type="string">bora</parameter> @@ -49,6 +49,6 @@ <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> + <parameter name="command" type="string">mpiexec -np $nmpi $MPI_OPTIONS $CHAMELEON_BUILD/testing/chameleon_${precision}testing -o ${algorithm} -P $p -t $nthr -g $ngpu -m $m -n $n -k $k -b $b</parameter> </parameterset> </jube> diff --git a/tools/bench/plafrim/parameters/sirocco/parameters.xml b/tools/bench/plafrim/parameters/sirocco/parameters.xml index 3f04ebc61..23d63e53c 100644 --- a/tools/bench/plafrim/parameters/sirocco/parameters.xml +++ b/tools/bench/plafrim/parameters/sirocco/parameters.xml @@ -15,7 +15,7 @@ <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="k" 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="n" 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="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> + <parameter name="command" type="string">mpiexec -np $nmpi $MPI_OPTIONS $CHAMELEON_BUILD/testing/chameleon_${precision}testing -o ${algorithm} -P $p -t $nthr -g $ngpu -m $m -n $n -k $k -b $b</parameter> </parameterset> <parameterset name="param_potrf"> <parameter name="hostname" type="string">sirocco</parameter> @@ -32,7 +32,7 @@ <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="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> + <parameter name="command" type="string">mpiexec -np $nmpi $MPI_OPTIONS $CHAMELEON_BUILD/testing/chameleon_${precision}testing -o ${algorithm} -P $p -t $nthr -g $ngpu -m $m -n $n -k $k -b $b</parameter> </parameterset> <parameterset name="param_geqrf"> <parameter name="hostname" type="string">sirocco</parameter> @@ -49,6 +49,6 @@ <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="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> + <parameter name="command" type="string">mpiexec -np $nmpi $MPI_OPTIONS $CHAMELEON_BUILD/testing/chameleon_${precision}testing -o ${algorithm} -P $p -t $nthr -g $ngpu -m $m -n $n -k $k -b $b</parameter> </parameterset> </jube> diff --git a/tools/bench/plafrim/run.sh b/tools/bench/plafrim/run.sh index 567a8cfad..08603b7ee 100755 --- a/tools/bench/plafrim/run.sh +++ b/tools/bench/plafrim/run.sh @@ -34,7 +34,7 @@ then export SLURM_CONSTRAINTS="sirocco,omnipath,v100" export CHAMELEON_BUILD_OPTIONS="-DCHAMELEON_USE_MPI=ON -DCHAMELEON_USE_CUDA=ON -DCMAKE_BUILD_TYPE=Release" export STARPU_HOSTNAME="sirocco" - export LD_PRELOAD="/usr/lib64/libcuda.so /usr/lib64/libnvidia-fatbinaryloader.so.440.33.01" + export LD_PRELOAD="/usr/lib64/libcuda.so" else echo "$0: Please set the NODE environnement variable to bora or sirocco." exit -1 @@ -57,14 +57,14 @@ then GUIX_ADHOC_MPI="openssh openmpi" elif [ $MPI = "nmad" ] then - export MPI_OPTIONS="-DPIOM_DEDICATED=1 -DPIOM_DEDICATED_WAIT=1" + export MPI_OPTIONS="-DPIOM_DEDICATED=1 -DPIOM_DEDICATED_WAIT=1 hwloc-bind --cpubind machine:0" GUIX_ENV_MPI="--with-input=openmpi=nmad --with-branch=starpu=starpu-1.3" GUIX_ADHOC_MPI="which gzip zlib tar inetutils util-linux procps openssh nmad" else echo "$0: Please set the MPI environnement variable to openmpi or nmad." exit -1 fi -GUIX_ADHOC="coreutils gawk grep jube perl python python-click python-certifi python-elasticsearch python-gitpython python-matplotlib python-pandas python-seaborn r-ggplot2 r-plyr r-reshape2 sed slurm mkl" +GUIX_ADHOC="coreutils gawk grep hwloc jube perl python python-click python-certifi python-elasticsearch python-gitpython python-matplotlib python-pandas python-seaborn r-ggplot2 r-plyr r-reshape2 sed slurm mkl" GUIX_RULE="-D $GUIX_ENV $GUIX_ENV_MPI $GUIX_ADHOC $GUIX_ADHOC_MPI" # Submit jobs -- GitLab