From: Paul Bédaride Date: Thu, 25 Apr 2013 08:37:19 +0000 (+0200) Subject: Auto generate hostfile if not given to smpirun [#14692] X-Git-Tag: v3_9_90~413 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/d9e474af42576c8d813481f92338ac07b7abe8f0 Auto generate hostfile if not given to smpirun [#14692] --- diff --git a/src/smpi/smpirun.in b/src/smpi/smpirun.in index e290d2074c..c66761769b 100755 --- a/src/smpi/smpirun.in +++ b/src/smpi/smpirun.in @@ -190,12 +190,18 @@ if [ -z "${EXEC}" ] ; then exit 1 fi -if [ -z "${HOSTFILE}" ] ; then - echo "No hostfile specified." +if [ -z "${HOSTFILE}" ] && [ -z "${PLATFORM}" ] ; then + echo "No hostfile nor platform specified." usage exit 1 fi +if [ -z "${HOSTFILE}" ] ; then + HOSTFILETMP=1 + HOSTFILE="$(mktemp tmphostXXXXXX)" + perl -ne 'print "$1\n" if /.*.*/' ${PLATFORM} > ${HOSTFILE} +fi + # Don't use wc -l to compute it to avoid issues with trailing \n at EOF hostfile_procs=`grep -c "[a-zA-Z0-9]" $HOSTFILE` @@ -364,6 +370,9 @@ fi export SMPI_GLOBAL_SIZE=${NUMPROCS} if [ -n "${KEEP}" ] ; then echo ${EXEC} ${TRACEOPTIONS} ${SIMOPTS} ${PLATFORMTMP} ${APPLICATIONTMP} + if [ ${HOSTFILETMP} == 1 ] ; then + echo "Generated hostfile ${HOSTFILE} keeped." + fi fi ${EXEC} ${TRACEOPTIONS} ${SIMOPTS} ${PLATFORMTMP} ${APPLICATIONTMP} status=$? @@ -372,6 +381,9 @@ if [ -z "${KEEP}" ] ; then if [ -z "${PLATFORM}" ]; then rm ${PLATFORMTMP} fi + if [ ${HOSTFILETMP} == 1 ] ; then + rm ${HOSTFILE} + fi rm ${APPLICATIONTMP} fi