#!/usr/bin/env sh
-# Copyright (c) 2007-2020. The SimGrid Team. All rights reserved.
+# Copyright (c) 2007-2021. The SimGrid Team. All rights reserved.
# This program is free software; you can redistribute it and/or modify it
# under the terms of the license (GNU LGPL) which comes with this package.
Usage: $0 [OPTIONS] -platform <xmldesc> -hostfile <hostfile> program [program-options]
$0 [OPTIONS] -platform <xmldesc> -hostfile <hostfile> -replay <tracefile> [program] [program-options]
Options:
+ -analyze # show information about allocations and timings at the end of execution
-keep-temps # don't remove the generated files after execution
-wrapper <command> # use command to run the program (e.g. "valgrind" or "gdb --args")
-gdb # run within GDB (-wrapper "gdb --args" -keep-temps)
shift 2
;;
"-platform")
- PLATFORM="$2"
+ PLATFORM="$2"
if [ ! -f "${PLATFORM}" ]; then
die "the file '${PLATFORM}' does not exist"
fi
- shift 2
+ shift 2
;;
"-hostfile" | "-machinefile")
- HOSTFILE="$2"
+ HOSTFILE="$2"
if [ ! -f "${HOSTFILE}" ]; then
die "the file '${HOSTFILE}' does not exist"
fi
- shift 2
+ shift 2
;;
"-replay")
APP_TRACES="$2"
shift 2
;;
- "-no-privatize")
- PRIVATIZE="--cfg=smpi/privatization:no"
- shift 1
- ;;
+ "-no-privatize")
+ PRIVATIZE="--cfg=smpi/privatization:no"
+ shift 1
+ ;;
"-map")
- MAPOPT=1
+ MAPOPT=1
+ shift 1
+ ;;
+ "-tmpdir")
+ SMPITMPDIR="$2"
shift 1
;;
- "-tmpdir")
- SMPITMPDIR="$2"
- shift 1
- ;;
"-trace")
TRACE_ACTIVE="true"
shift 1
SIMOPTS="$SIMOPTS --cfg=smpi/keep-temps:yes"
shift 1
;;
- "-quiet")
- QUIET="true"
- shift 1
- ;;
+ "-quiet")
+ QUIET="true"
+ shift 1
+ ;;
"-wrapper")
WRAPPER="$2"
shift 2
SIMOPTS="$SIMOPTS --cfg=smpi/keep-temps:yes"
shift 1
;;
+ "-analyze")
+ SIMOPTS="$SIMOPTS --cfg=smpi/display-timing:yes --cfg=smpi/display-allocs:yes"
+ shift 1
+ ;;
"-help" | "--help" | "-h")
usage
exit 0
if [ ${REPLAY} = 1 ]; then
echo " <prop id=\"smpi_replay\" value=\"true\"/>"
if [ "${NUMTRACES}" -gt 1 ]; then
+ # Give each process its trace file (as an argument)
echo " <argument value=\"$(echo "$hosttraces"|cut -d' ' -f$j)\"/>"
- else
- echo " <argument value=\"$(echo "$hosttraces"|cut -d' ' -f1)\"/>"
+ elif [ ${i} = 0 ]; then
+ # Give the shared trace file to rank 0 (as a property)
+ echo " <prop id=\"tracefile\" value=\"$(echo "$hosttraces"|cut -d' ' -f1)\"/>"
fi
else
echo "${XML_ARGS}"