Browse Source

port r18165 from 1.2: fix compatibility with smpi 3.13

Samuel Thibault 8 years ago
parent
commit
a06cd5ce73
1 changed files with 19 additions and 4 deletions
  1. 19 4
      tools/starpu_smpirun.in

+ 19 - 4
tools/starpu_smpirun.in

@@ -24,6 +24,21 @@ STARPU_XSLTDIR=$STARPU_DATADIR/starpu
 SOURCE_DATADIR=@abs_srcdir@
 BUILDDIR=@abs_builddir@
 
+SMPI_VERSION=$($SMPIRUN -version | sed -e 's/.* \([0-9]*\.[0-9]*\).*/\1/')
+SMPI_MAJOR=${SMPI_VERSION%.*}
+SMPI_MINOR=${SMPI_VERSION#*.}
+
+if [ "$SMPI_MAJOR" -ge 4 -o \( "$SMPI_MAJOR" = 3 -a "$SMPI_MINOR" -ge 13 \) ]
+then
+	DTD=http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd
+	V=4
+	VF=.v4
+else
+	DTD=http://simgrid.gforge.inria.fr/simgrid.dtd
+	V=3
+	VF=""
+fi
+
 # When executed from source, take xslt from source
 [ "$0" -ef $BUILDDIR/starpu_smpirun ] && STARPU_XSLTDIR=$SOURCE_DATADIR
 
@@ -68,7 +83,7 @@ PLATFORM=$(mktemp /tmp/StarPU-MPI-platform-XXXXXXXX.xml)
 [ -n "$STARPU_HOME" ] || STARPU_HOME=$HOME
 [ -n "$STARPU_PERF_MODEL_DIR" ] || STARPU_PERF_MODEL_DIR=$STARPU_HOME/.starpu/sampling
 [ -n "$STARPU_HOSTNAME" ] || STARPU_HOSTNAME=$(hostname)
-NODE_PLATFORM=$STARPU_PERF_MODEL_DIR/bus/${STARPU_HOSTNAME}.platform.xml
+NODE_PLATFORM=$STARPU_PERF_MODEL_DIR/bus/${STARPU_HOSTNAME}.platform$VF.xml
 
 [ -n "$NP" ] || NP=$(grep -v "^$" $MPI_HOSTFILE | wc -l)
 
@@ -79,10 +94,10 @@ then
 fi
 
 (
-	cat << \EOF
+	cat << EOF
 <?xml version='1.0'?>
-<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid.dtd">
-<platform version="3">
+<!DOCTYPE platform SYSTEM "$DTD">
+<platform version="$V">
 <AS id="ASroot" routing="None">
 EOF
 	tail -n +3 $MPI_PLATFORM | grep -v '<platform' | grep -v '</platform'