From: Martin Quinson Date: Mon, 2 Apr 2012 03:06:13 +0000 (-1000) Subject: smpirun: Use the amount of processes in the hostfile as default value for the -np... X-Git-Tag: v3_7~128 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/b481f5cc7076aa751d9269d53066b77209683901 smpirun: Use the amount of processes in the hostfile as default value for the -np parameter Plus, some more checks --- diff --git a/src/smpi/smpirun.in b/src/smpi/smpirun.in index a61487afcb..7ec37c6eb5 100755 --- a/src/smpi/smpirun.in +++ b/src/smpi/smpirun.in @@ -13,7 +13,6 @@ LOOPBACK_BANDWIDTH="${DEFAULT_LOOPBACK_BANDWIDTH}" LOOPBACK_LATENCY="${DEFAULT_LOOPBACK_LATENCY}" NETWORK_BANDWIDTH="${DEFAULT_NETWORK_BANDWIDTH}" NETWORK_LATENCY="${DEFAULT_NETWORK_LATENCY}" -NUMPROCS="${DEFAULT_NUMPROCS}" POWER="${DEFAULT_POWER}" SIMOPTS="--cfg=maxmin/precision:1e-9 --cfg=network/model:SMPI --cfg=network/TCP_gamma:4194304" @@ -25,6 +24,8 @@ function usage () { echo " [-np ] -platform -hostfile [-map] program [program-options]" echo " [-keep-temps] # don't remove the generated files after execution" echo " [-map] # display the machine on which each process rank is mapped" + echo " [-np ] # use that amount of processes from the hostfile." + echo " # By default, all processes of the hostfile are used." echo " [-trace] # activate tracing" echo " [-trace-grouped] # group MPI processes by location" echo " [-trace-resource] # trace resource utilization" @@ -144,6 +145,19 @@ if [ -z ${HOSTFILE} ] ; then exit 1 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` + +if [ -z ${NUMPROCS} ] ; then + # Use the amount of processes in the hostfile as default value for the -np parameter + NUMPROC=$hostfile_procs +fi + + +if [ ${NUMPROCS} -gt ${hostfile_procs} ] ; then + echo "You requested to use ${NUMPROCS} processes, but there is only ${hostfile_procs} processes in your hostfile..." + exit 1 +fi ##-------------------------------- DEFAULT or SPECIFIED PLATFORM -------------------------------------- if [ -z "${PLATFORM}" ]; then