#!@REALBASH@
# StarPU --- Runtime system for heterogeneous multicore architectures.
#
# Copyright (C) 2008-2020  Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
#
# StarPU is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or (at
# your option) any later version.
#
# StarPU is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# See the GNU Lesser General Public License in COPYING.LGPL for more details.
#
PROGNAME=$0

usage()
{
	echo "Offline tool to draw codelet profile over a traced execution"
	echo ""
	echo "Usage: $PROGNAME distrib.data codelet_name"
	echo ""
	echo "Options:"
	echo "	-h, --help          display this help and exit"
	echo "	-v, --version       output version information and exit"
	echo ""
	echo "Report bugs to <@PACKAGE_BUGREPORT@>"
	exit 1
}

if [ "$1" = "-v" ] || [ "$1" = "--version" ] ; then
    echo "$PROGNAME (@PACKAGE_NAME@) @PACKAGE_VERSION@"
    exit 0
fi

if [ "$1" = "-h" ] || [ "$1" = "--help" ] || [ "$2" = "" ] ; then
    usage
fi

inputfile=$1
codelet_name=$2

archlist=`< $inputfile grep "^$codelet_name	" | cut -f 2 | sort | uniq | xargs` 

# extract subfiles from the history file
for arch in $archlist
do
		echo "Arch $arch"
		grep "^$codelet_name	$arch" $inputfile > $inputfile.$arch
done

# create the gnuplot file

gpfile=$inputfile.gp

echo "#!/usr/bin/gnuplot -persist" 		> $gpfile
echo "set term postscript eps enhanced color" 	>> $gpfile
echo "set logscale x"				>> $gpfile 
echo "set logscale y"				>> $gpfile 
echo "set output \"$inputfile.eps\""		>> $gpfile
echo "set key top left"				>> $gpfile
echo "set xlabel \"Total data size\""		>> $gpfile
echo "set ylabel \"Execution time (ms)\""	>> $gpfile

echo -n "plot	" 				>> $gpfile

first=1

for arch in $archlist
do
		if [ $first = 0 ] 
		then
			echo -n "  , " >> $gpfile
		else
			first=0
		fi

		echo -n " \"$inputfile.$arch\" using 3:5  title \"${codelet_name//_/\\\\_} arch $arch\"" >> $gpfile
done
