#usage to print the way this script should be called
function usage () {
- echo "usage:"
- echo "$0 [-keep-temps]"
- echo " [-np <numprocs>] -platform <xmldesc> -hostfile <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 <numprocs>] # use that amount of processes from the hostfile."
- echo " # By default, all processes of the hostfile are used."
- echo " [-trace] # activate tracing"
- echo " [-trace-comment <comment>]# put a comment on the top of the trace file"
- echo " [-trace-comment-file <file>] # put file contents on the top of the trace file as comment"
- echo " [-trace-grouped] # group MPI processes by location"
- echo " [-trace-resource] # trace resource utilization"
- echo " [-trace-triva] # generate configuration for Triva's GraphView"
- echo " [-trace-file <tracefile>] # name of the tracefile (simgrid_smpi.trace)"
- echo "or (deprecated usage):"
- echo "$0 [-keep-temps] [-np <numprocs>] [-bandwidth <bytes/sec>] [-latency <secs>] program [program-options]"
- echo
+cat <<EOF
+Usage: $0 [OPTIONS] -platform <xmldesc> -hostfile <hostfile> program [program-options]
+Options:
+ -keep-temps # don't remove the generated files after execution
+ -map # display the machine on which each process rank is mapped
+ -np <numprocs> # use that amount of processes from the hostfile.
+ # By default, all processes of the hostfile are used.
+ -trace # activate tracing
+ -trace-comment <comment> # put a comment on the top of the trace file
+ -trace-comment-file <file> # put file contents on the top of the trace file as comment
+ -trace-grouped # group MPI processes by location
+ -trace-resource # trace resource utilization
+ -trace-viva # generate configuration for Viva's GraphView
+ -trace-file <tracefile> # name of the tracefile (simgrid_smpi.trace)
+ -ext <value> # additional parameter (reserved)
+
+or (deprecated usage):
+ $0 [-keep-temps] [-np <numprocs>] [-bandwidth <bytes/sec>] [-latency <secs>] program [program-options]
+
+EOF
}
#check if we have at least one parameter
exit
fi
+EXTOPT=""
+
while true; do
case "$1" in
"-np" | "-n")
shift 2
;;
+ "-ext")
+ EXTOPT="$2"
+ shift 2
+ ;;
+
"-map")
MAPOPT="true"
shift 1
shift 1
;;
- "-trace-triva")
- TRACE_TRIVA="true"
+ "-trace-viva")
+ TRACE_VIVA="true"
shift 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`
+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
NUMHOSTS=`cat ${HOSTFILE} | wc -l`
fi
-if [ ${EXEC} = "./replay" ]; then
+if [ "${EXTOPT}" = "smpi_replay" ]; then
APP_TRACES=$1;
- if [ -n "${APP_TRACES}" ] && [ -f ${APP_TRACES} ]; then
+ if [ -n "${APP_TRACES}" ] && [ -f "${APP_TRACES}" ]; then
hosttraces=(`cat ${APP_TRACES} | tr \\\n " "`)
NUMTRACES=`cat ${APP_TRACES} | wc -l`
+ else
+ printf "File not found: %s\n", "${APP_TRACES:-\${APP_TRACES}}" >&2
+ exit 1
fi
fi
fi
echo " <process host=\"${host}\" function=\"$i\"> <!-- function name used only for logging -->" >> ${APPLICATIONTMP}
echo " <argument value=\"$i\"/> <!-- rank -->" >> ${APPLICATIONTMP}
- if [ ${EXEC} = "./replay" ]; then
+ if [ "${EXTOPT}" = "smpi_replay" ]; then
if [ ${NUMTRACES} -gt 1 ]; then
echo " <argument value=\"${hosttraces[$j]}\"/>" >> ${APPLICATIONTMP}
else
TRACEOPTIONS="${TRACEOPTIONS} --cfg=tracing/categorized:1 --cfg=tracing/uncategorized:1"
fi
- if [ -n "${TRACE_TRIVA}" ]; then
- TRACEOPTIONS="${TRACEOPTIONS} --cfg=triva/categorized:smpi_cat.plist --cfg=triva/uncategorized:smpi_uncat.plist"
+ if [ -n "${TRACE_VIVA}" ]; then
+ TRACEOPTIONS="${TRACEOPTIONS} --cfg=viva/categorized:smpi_cat.plist --cfg=viva/uncategorized:smpi_uncat.plist"
fi
fi
##---------------------- end SMPI TRACING OPTIONS ---------------------------------
export SMPI_GLOBAL_SIZE=${NUMPROCS}
if [ -n "${KEEP}" ] ; then
- echo ${EXEC} ${SIMOPTS} ${TRACEOPTIONS} ${PLATFORMTMP} ${APPLICATIONTMP}
+ echo ${EXEC} ${TRACEOPTIONS} ${SIMOPTS} ${PLATFORMTMP} ${APPLICATIONTMP}
fi
-${EXEC} ${SIMOPTS} ${TRACEOPTIONS} ${PLATFORMTMP} ${APPLICATIONTMP}
+${EXEC} ${TRACEOPTIONS} ${SIMOPTS} ${PLATFORMTMP} ${APPLICATIONTMP}
status=$?
if [ -z "${KEEP}" ] ; then