summaryrefslogtreecommitdiff
path: root/utils/parallel/gr2gran.bash
diff options
context:
space:
mode:
Diffstat (limited to 'utils/parallel/gr2gran.bash')
-rw-r--r--utils/parallel/gr2gran.bash113
1 files changed, 113 insertions, 0 deletions
diff --git a/utils/parallel/gr2gran.bash b/utils/parallel/gr2gran.bash
new file mode 100644
index 0000000000..d281d2c5bc
--- /dev/null
+++ b/utils/parallel/gr2gran.bash
@@ -0,0 +1,113 @@
+#!/usr/local/bin/bash
+##############################################################################
+# Last modified: Time-stamp: <95/08/01 02:21:56 hwloidl>
+#
+# Usage: gr2gran [options] <sim-file>
+#
+# Create granularity graphs for the GrAnSim profile <sim-file>. This creates
+# a bucket statistics and a cumulative runtimes graph.
+# This script is derived from the much more complex gran-extr script, which
+# also produces such graphs and much more information, too.
+#
+# Options:
+# -t <file> ... use <file> as template file (<,> global <.> local template)
+# -p <file> ... use <file> as gnuplot .gp file (default: gran.gp)
+# -x <x-size> ... of gnuplot graph
+# -y <y-size> ... of gnuplot graph
+# -n <n> ... use <n> as number of PEs in title
+# -o <file> ... keep the intermediate <file> (sorted list of all runtimes)
+# -h ... help; print this text.
+# -v ... verbose mode.
+#
+##############################################################################
+
+progname="`basename $0`"
+args="$*"
+
+help=0
+verb=0
+template=""
+plotfile=""
+x=""
+y=""
+n=""
+rtsfile=""
+keep_rts=0
+
+getopts "hvt:p:x:y:n:o:" name
+while [ "$name" != "?" ] ; do
+ case $name in
+ h) help=1;;
+ v) verb=1;;
+ t) template="-t $OPTARG";;
+ p) plotfile="-p $OPTARG";;
+ x) x="-x $OPTARG";;
+ y) y="-y $OPTARG";;
+ n) n="-n $OPTARG";;
+ o) rtsfile="$OPTARG";;
+ esac
+ getopts "hvt:p:x:y:n:o:" name
+done
+
+shift $[ $OPTIND - 1 ]
+
+if [ $help -eq 1 ]
+ then no_of_lines=`cat $0 | awk 'BEGIN { n = 0; } \
+ /^$/ { print n; \
+ exit; } \
+ { n++; }'`
+ echo "`head -$no_of_lines $0`"
+ exit
+fi
+
+if [ -z "$1" ]
+ then echo "Usage: $progname [options] file[.gr]"
+ echo "Use -h option for details"
+ exit 1;
+fi
+
+f="`basename $1 .gr`"
+grfile="${f}.gr"
+if [ -z "$rtsfile" ]
+ then rtsfile="${f}.rts"
+ rtsopt="-o $rtsfile"
+ else rtsopt="-o $rtsfile"
+ keep_rts=1
+fi
+
+opts_RTS="$rtsopt "
+opts_ps="$template $plotfile $x $y $n "
+
+if [ $verb -eq 1 ]
+ then echo "Input file: $grfile"
+ if [ ${keep_rts} -eq 1 ]
+ then echo "Intermediate file: $rtsfile (kept after termination)"
+ else echo "Intermediate file: $rtsfile (discarded at end)"
+ fi
+ verb_opt="-v "
+ opts_RTS="${opts_RTS} $verb_opt "
+ opts_ps="${opts_ps} $verb_opt "
+ echo "Options for gr2RTS: ${opts_RTS}"
+ echo "Options for RTS2gran: ${opts_ps}"
+fi
+
+
+# unset noclobber
+if [ ! -f "$grfile" ]
+ then
+ echo "$grfile does not exist"
+ exit 1
+ else
+ # rm -f "$rtsfile"
+ if [ $verb -eq 1 ]
+ then echo "gr2RTS ..."
+ fi
+ gr2RTS ${opts_RTS} $grfile
+ if [ $verb -eq 1 ]
+ then echo "RTS2gran ..."
+ fi
+ RTS2gran ${opts_ps} $rtsfile
+ if [ ${keep_rts} -ne 1 ]
+ then rm -f $rtsfile
+ fi
+fi