2009-06-23 12:45:15 +02:00
|
|
|
#! /bin/bash
|
|
|
|
|
|
|
|
set -u
|
|
|
|
|
|
|
|
#comList = `ls | perl -pi -e 's/.*-(\w+)_com/$1/' | sort | uniq`
|
|
|
|
comList=`ls *.log | perl -ni -e '/-([^-]+)_comm/; $a{$1}=""; END { foreach ( sort keys %a ) {print "$_ "}}'`
|
|
|
|
cacheList=`ls *log | perl -ni -e '/cache_([^-]+)-/; $a{$1}=""; END { foreach ( sort keys %a ) {print "$_ "}}'`
|
|
|
|
prodList=`ls *.log | perl -ni -e '/typeProd_([^-]+)-/; $a{$1}=""; END { foreach ( sort keys %a ) {print "$_ "}}'`
|
|
|
|
|
2009-06-23 13:10:04 +02:00
|
|
|
metriqueList="cache_hits cache_miss cycles total_time"
|
2009-06-23 12:45:15 +02:00
|
|
|
|
|
|
|
echo "set style data histogram" > multicores.gnuplot
|
|
|
|
echo "set style histogram cluster gap 1" >> multicores.gnuplot
|
|
|
|
echo "set style fill solid border -1" >> multicores.gnuplot
|
|
|
|
echo "set boxwidth 0.9" >> multicores.gnuplot
|
|
|
|
echo "set xtic rotate by -45" >> multicores.gnuplot
|
|
|
|
echo "set bmargin 5" >> multicores.gnuplot
|
|
|
|
echo "set terminal postscript landscape color" >> multicores.gnuplot
|
|
|
|
|
|
|
|
for prod in $prodList ; do
|
|
|
|
for metrique in $metriqueList ; do
|
|
|
|
> prod_$prod-$metrique.dat
|
|
|
|
done
|
|
|
|
for com in $comList ; do
|
|
|
|
for metrique in $metriqueList ; do
|
|
|
|
echo -ne "\n$com\t\t" >> prod_$prod-$metrique.dat
|
|
|
|
done
|
|
|
|
for cache in $cacheList ; do
|
2009-06-23 14:46:00 +02:00
|
|
|
for value in `perl -n -e 'print "$1 $2 $3" if /cache hits.* (\d+) \/ (\d+) \/ (\d+)/' cache_$cache-*-typeProd_$prod-*-${com}_comm.log` ; do
|
|
|
|
echo -ne "\t$value " >> prod_$prod-cache_hits.dat
|
2009-06-23 12:45:15 +02:00
|
|
|
done
|
2009-06-23 14:46:00 +02:00
|
|
|
for value in `perl -n -e 'print "$1 $2 $3" if /cache miss.* (\d+) \/ (\d+) \/ (\d+)/' cache_$cache-*-typeProd_$prod-*-${com}_comm.log` ; do
|
|
|
|
echo -ne "\t$value" >> prod_$prod-cache_miss.dat
|
|
|
|
done
|
|
|
|
for value in `perl -n -e 'print "$1 $2 $3" if /cycles.* (\d+) \/ (\d+) \/ (\d+)/' cache_$cache-*-typeProd_$prod-*-${com}_comm.log` ; do
|
|
|
|
echo -ne "\t$value" >> prod_$prod-cycles.dat
|
|
|
|
done
|
|
|
|
for value in `perl -n -e 'print "$1 $2 $3" if /total_time.* (\d+) \/ (\d+) \/ (\d+)/' cache_$cache-*-typeProd_$prod-*-${com}_comm.log` ; do
|
|
|
|
echo -ne "\t$value" >> prod_$prod-cycles.dat
|
|
|
|
done
|
|
|
|
|
2009-06-23 12:45:15 +02:00
|
|
|
done
|
|
|
|
done
|
|
|
|
for metrique in $metriqueList ; do
|
|
|
|
echo "set output 'prod_$prod-$metrique-total.ps'" >> multicores.gnuplot
|
|
|
|
echo "plot 'prod_$prod-$metrique.dat' using 2:xtic(1) ti 'L2', '' u 5 ti 'MEM'" >> multicores.gnuplot
|
|
|
|
echo "set output 'prod_$prod-$metrique-byLoop.ps'" >> multicores.gnuplot
|
|
|
|
echo "plot 'prod_$prod-$metrique.dat' using 3:xtic(1) ti 'L2', '' u 6 ti 'MEM'" >> multicores.gnuplot
|
|
|
|
echo "set output 'prod_$prod-$metrique-byWrite.ps'" >> multicores.gnuplot
|
|
|
|
echo "plot 'prod_$prod-$metrique.dat' using 4:xtic(1) ti 'L2', '' u 7 ti 'MEM'" >> multicores.gnuplot
|
|
|
|
done
|
|
|
|
done
|
|
|
|
|
|
|
|
gnuplot multicores.gnuplot
|
|
|
|
|
|
|
|
for f in *.ps ; do
|
|
|
|
ps2pdf $f
|
|
|
|
done
|
|
|
|
|
|
|
|
acroread *.pdf
|