[comm tech bench] 1 gnuplot per graph
- Refactor parsing.sh to have one gnuplot file per graph - Change the set style data from lines to linespoints - Add one title per series of point (one for each every) in dat headers
This commit is contained in:
parent
baff7d6b6e
commit
ad804e4a5a
|
@ -21,6 +21,271 @@ echo "set xtic rotate by -45" >> multicores.gnuplot
|
||||||
echo "set bmargin 5" >> multicores.gnuplot
|
echo "set bmargin 5" >> multicores.gnuplot
|
||||||
echo "set terminal postscript landscape color" >> multicores.gnuplot
|
echo "set terminal postscript landscape color" >> multicores.gnuplot
|
||||||
|
|
||||||
|
use_histo ()
|
||||||
|
{
|
||||||
|
local prod bench
|
||||||
|
prod="$1"
|
||||||
|
bench="$2"
|
||||||
|
|
||||||
|
[ "$bench" = "communication" -o "$prod" != "useless_loop" ]
|
||||||
|
return $?
|
||||||
|
}
|
||||||
|
|
||||||
|
create_dat_header ()
|
||||||
|
{
|
||||||
|
local prod bench metrique
|
||||||
|
prod="$1"
|
||||||
|
bench="$2"
|
||||||
|
metrique="$3"
|
||||||
|
|
||||||
|
# Create file
|
||||||
|
> bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||||
|
|
||||||
|
# Only one point per com and cache
|
||||||
|
if use_histo "$prod" "$bench"
|
||||||
|
then
|
||||||
|
for i in 1 2 3 # 1: total, 2: by loop, 3: by write
|
||||||
|
do
|
||||||
|
if [ $i -ne 1 ]
|
||||||
|
then
|
||||||
|
echo >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||||
|
fi
|
||||||
|
echo -ne "Method\t\t" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||||
|
for cache in $cacheList
|
||||||
|
do
|
||||||
|
echo -ne "\t$cache" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||||
|
done
|
||||||
|
done
|
||||||
|
# Several points per com and cache (one per calc argument)
|
||||||
|
else
|
||||||
|
for i in 1 2
|
||||||
|
do
|
||||||
|
if [ $i -ne 1 ]
|
||||||
|
then
|
||||||
|
echo >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||||
|
fi
|
||||||
|
for j in 1 2 3 # 1: total, 2: by loop, 3: by write
|
||||||
|
do
|
||||||
|
echo -ne "argTypeProd\t\t" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||||
|
for com in $barriereList
|
||||||
|
do
|
||||||
|
echo -ne "\t$com" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||||
|
done
|
||||||
|
echo >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||||
|
done
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
get_metric_values ()
|
||||||
|
{
|
||||||
|
local prod com cache argTypeProd logFile
|
||||||
|
prod="$1"
|
||||||
|
com="$2"
|
||||||
|
cache="$3"
|
||||||
|
argTypeProd="$4"
|
||||||
|
metriquePattern="$5"
|
||||||
|
|
||||||
|
logFile=cache_$cache-*-typeProd_$prod-argTypeProd_$argTypeProd-*-${com}_comm.log
|
||||||
|
perl -n -e "print \"\$1 \$2 \$3 \" if /$metriquePattern.* (\S+) \/ (\S+) \/ (\S+)/" $logFile
|
||||||
|
}
|
||||||
|
|
||||||
|
create_simple_dat_body ()
|
||||||
|
{
|
||||||
|
local prod bench metrique argTypeProd
|
||||||
|
prod="$1"
|
||||||
|
bench="$2"
|
||||||
|
metrique="$3"
|
||||||
|
argTypeProd="$4"
|
||||||
|
|
||||||
|
for com in `eval echo \\\$\${bench}List`
|
||||||
|
do
|
||||||
|
for i in 1 2 3 # 1: total, 2: by loop, 3: by write
|
||||||
|
do
|
||||||
|
echo -ne "\n$com\t\t" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||||
|
for cache in $cacheList
|
||||||
|
do
|
||||||
|
if [ $i -eq 1 ]
|
||||||
|
then
|
||||||
|
valuetmp=`get_metric_values "$prod" "$com" "$cache" "$argTypeProd" "$metriquePattern"`
|
||||||
|
eval value$cache=\"$valuetmp\"
|
||||||
|
fi
|
||||||
|
eval echo -ne "\${value$cache}" | sed -r "s/^([^ ]+ ){$((i-1))}([^ ]+).*/\t\2/" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||||
|
done
|
||||||
|
done
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
create_complex_dat_body ()
|
||||||
|
{
|
||||||
|
local prod bench metrique
|
||||||
|
prod="$1"
|
||||||
|
bench="$2"
|
||||||
|
metrique="$3"
|
||||||
|
|
||||||
|
for argTypeProd in $argTypeProdList
|
||||||
|
do
|
||||||
|
for cache in $cacheList
|
||||||
|
do
|
||||||
|
if [ $cache != ${cacheList%% *} -o $argTypeProd != ${argTypeProdList%% *} ]
|
||||||
|
then
|
||||||
|
echo "" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||||
|
fi
|
||||||
|
for i in 1 2 3 # 1: total, 2: by loop, 3: by write
|
||||||
|
do
|
||||||
|
echo -ne "\n$argTypeProd\t\t" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||||
|
for com in `eval echo \\\$\${bench}List`
|
||||||
|
do
|
||||||
|
if [ $i -eq 1 ]
|
||||||
|
then
|
||||||
|
valuetmp=`get_metric_values "$prod" "$com" "$cache" "$argTypeProd" "$metriquePattern"`
|
||||||
|
eval value$com=\"$valuetmp\"
|
||||||
|
fi
|
||||||
|
eval echo -ne "\${value$com}" | sed -r "s/^([^ ]+ ){$((i-1))}([^ ]+).*/\t\2/" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||||
|
done
|
||||||
|
done
|
||||||
|
done
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
create_dat_body ()
|
||||||
|
{
|
||||||
|
local prod bench metrique argTypeProd
|
||||||
|
prod="$1"
|
||||||
|
bench="$2"
|
||||||
|
metrique="$3"
|
||||||
|
argTypeProd="$4"
|
||||||
|
|
||||||
|
if use_histo "$prod" "$bench"
|
||||||
|
then
|
||||||
|
create_simple_dat_body "$prod" "$bench" "$metrique" "$argTypeProd" "$metriquePattern"
|
||||||
|
else
|
||||||
|
create_complex_dat_body "$prod" "$bench" "$metrique" "$argTypeProd" "$metriquePattern"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
create_gnuplot_header ()
|
||||||
|
{
|
||||||
|
local prod bench gnuplotFile
|
||||||
|
prod="$1"
|
||||||
|
bench="$2"
|
||||||
|
gnuplotFile="$3"
|
||||||
|
|
||||||
|
echo "set style fill solid border -1" > $gnuplotFile
|
||||||
|
echo "set boxwidth 0.9" >> $gnuplotFile
|
||||||
|
echo "set xtic rotate by -45" >> $gnuplotFile
|
||||||
|
echo "set bmargin 5" >> $gnuplotFile
|
||||||
|
echo "set terminal postscript landscape color" >> $gnuplotFile
|
||||||
|
if use_histo "$prod" "$bench"
|
||||||
|
then
|
||||||
|
echo "set style data histogram" >> $gnuplotFile
|
||||||
|
echo "set style histogram cluster gap 1" >> $gnuplotFile
|
||||||
|
else
|
||||||
|
echo "set style data linespoints" >> $gnuplotFile
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
create_simple_gnuplot_body ()
|
||||||
|
{
|
||||||
|
local metrique ylabel yscale patternPlotFile datFile
|
||||||
|
ylabel="$1"
|
||||||
|
lineNum="$2"
|
||||||
|
datFile="$3"
|
||||||
|
patternPlotFile="$4"
|
||||||
|
|
||||||
|
echo "set ylabel \"$ylabel\"" >> $patternPlotFile.gnuplot
|
||||||
|
echo "set output '$patternPlotFile.ps'" >> $patternPlotFile.gnuplot
|
||||||
|
echo "plot '$datFile' every 3::$lineNum using 2:xtic(1) title 2 , '' every 3::$lineNum u 3 ti 3" >> $patternPlotFile.gnuplot
|
||||||
|
}
|
||||||
|
|
||||||
|
create_complex_gnuplot_body ()
|
||||||
|
{
|
||||||
|
local bench ylabel lineNum datFile patternPlotFile columnNo baseTitle
|
||||||
|
bench="$1"
|
||||||
|
ylabel="$2"
|
||||||
|
lineNum="$3"
|
||||||
|
datFile="$4"
|
||||||
|
patternPlotFile="$5"
|
||||||
|
columnNo=2
|
||||||
|
|
||||||
|
echo "set ylabel \"$ylabel\"" >> $patternPlotFile.gnuplot
|
||||||
|
echo "set output '$patternPlotFile.ps'" >> $patternPlotFile.gnuplot
|
||||||
|
for com in `eval echo \\\$\${bench}List` ; do
|
||||||
|
baseTitle=`head -1 $datFile | cut -f $((columnNo + 2))`
|
||||||
|
if [ $columnNo -ne 2 ]
|
||||||
|
then
|
||||||
|
echo -n ", '' " >> $patternPlotFile.gnuplot
|
||||||
|
else
|
||||||
|
echo -n "plot '$datFile' " >> $patternPlotFile.gnuplot
|
||||||
|
fi
|
||||||
|
echo -n "every :2:$lineNum:0:$lineNum using 1:$columnNo:xtic(1) title '$baseTitle (L2)'" >> $patternPlotFile.gnuplot
|
||||||
|
echo -n ", '' every :2:$lineNum:1:$lineNum using 1:$columnNo:xtic(1) title '$baseTitle (mem)'" >> $patternPlotFile.gnuplot
|
||||||
|
columnNo=$((columnNo + 1))
|
||||||
|
done
|
||||||
|
echo >> $patternPlotFile.gnuplot
|
||||||
|
}
|
||||||
|
|
||||||
|
create_gnuplot_body ()
|
||||||
|
{
|
||||||
|
local prod bench yscale ylabel lineNum datFile patternPlotFile
|
||||||
|
prod="$1"
|
||||||
|
bench="$2"
|
||||||
|
yscale="$3"
|
||||||
|
ylabel="$4"
|
||||||
|
lineNum="$5"
|
||||||
|
datFile="$6"
|
||||||
|
patternPlotFile="$7"
|
||||||
|
|
||||||
|
echo "set $yscale y" >> $patternPlotFile.gnuplot
|
||||||
|
if [ "$yscale" = "nologscale" ]
|
||||||
|
then
|
||||||
|
echo "set yrange [0:*]" >> $patternPlotFile.gnuplot
|
||||||
|
else
|
||||||
|
echo "set yrange [*:*]" >> $patternPlotFile.gnuplot
|
||||||
|
fi
|
||||||
|
echo "set title \"Producteur : $prod\"" >> $patternPlotFile.gnuplot
|
||||||
|
if use_histo "$prod" "$bench"
|
||||||
|
then
|
||||||
|
create_simple_gnuplot_body "$ylabel" "$lineNum" "$datFile" "$patternPlotFile"
|
||||||
|
else
|
||||||
|
create_complex_gnuplot_body "$bench" "$ylabel" "$lineNum" "$datFile" "$patternPlotFile"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
create_gnuplot_file ()
|
||||||
|
{
|
||||||
|
local prod bench metrique ylabel yscale avg lineNum
|
||||||
|
prod="$1"
|
||||||
|
bench="$2"
|
||||||
|
metrique="$3"
|
||||||
|
baseYlabel="$4"
|
||||||
|
|
||||||
|
for yscale in "nologscale" "logscale"
|
||||||
|
do
|
||||||
|
for avg in total byLoop byWrite
|
||||||
|
do
|
||||||
|
case $avg in
|
||||||
|
total)
|
||||||
|
lineNum=0
|
||||||
|
ylabel="$baseYlabel" ;;
|
||||||
|
byLoop)
|
||||||
|
lineNum=1
|
||||||
|
ylabel="$baseYlabel par boucle" ;;
|
||||||
|
byWrite)
|
||||||
|
lineNum=2
|
||||||
|
ylabel="$baseYlabel par ecriture" ;;
|
||||||
|
esac
|
||||||
|
datFile=bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||||
|
patternPlotFile="bench_$bench-prod_$prod-$metrique-$avg-$yscale" # Name without extension of plot and ps files
|
||||||
|
create_gnuplot_header "$prod" "$bench" "$patternPlotFile.gnuplot"
|
||||||
|
if [ $metrique != "total_time" -o $yscale != "logscale" ]
|
||||||
|
then
|
||||||
|
create_gnuplot_body "$prod" "$bench" "$yscale" "$ylabel" "$lineNum" "$datFile" "$patternPlotFile"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
for prod in $prodList ; do
|
for prod in $prodList ; do
|
||||||
case "$prod" in
|
case "$prod" in
|
||||||
matrice) argTypeProd=16 ;;
|
matrice) argTypeProd=16 ;;
|
||||||
|
@ -28,129 +293,38 @@ for prod in $prodList ; do
|
||||||
esac
|
esac
|
||||||
for bench in "communication" "barriere" ; do
|
for bench in "communication" "barriere" ; do
|
||||||
# Create dat headers
|
# Create dat headers
|
||||||
for metrique in $metriqueList ; do
|
|
||||||
> bench_$bench-prod_$prod-metrique_$metrique.dat
|
|
||||||
# Compare shared L2 to shared mem
|
|
||||||
if [ $bench = "communication" -o $prod != "useless_loop" ] ; then
|
|
||||||
echo -ne "Method\t\t" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
|
||||||
for cache in $cacheList ; do
|
|
||||||
echo -ne "\t$cache" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
|
||||||
done
|
|
||||||
# Compare barrier type
|
|
||||||
else
|
|
||||||
echo -ne "argTypeProd\t\t" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
|
||||||
for com in $barriereList ; do
|
|
||||||
echo -ne "\t$com" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if [ $bench = "communication" -o $prod != "useless_loop" ] ; then
|
|
||||||
for com in `eval echo \\\$\${bench}List` ; do
|
|
||||||
for metrique in $metriqueList ; do
|
|
||||||
case "$metrique" in
|
|
||||||
cache_hits) metriquePattern="cache hits" ;;
|
|
||||||
cache_miss) metriquePattern="cache miss" ;;
|
|
||||||
cycles) metriquePattern="cycles" ;;
|
|
||||||
total_time) metriquePattern="total_time" ;;
|
|
||||||
*) echo "Pas de pattern pour cette métrique : $metrique" ; exit 1 ;;
|
|
||||||
esac
|
|
||||||
for i in 1 2 3 ; do # 1: total, 2: by loop, 3: by write
|
|
||||||
echo -ne "\n$com\t\t" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
|
||||||
for cache in $cacheList ; do
|
|
||||||
if [ $i -eq 1 ]
|
|
||||||
then
|
|
||||||
eval value$cache=\"`perl -n -e "print \"\\$1 \\$2 \\$3 \" if /$metriquePattern.* (\S+) \/ (\S+) \/ (\S+)/" cache_$cache-*-typeProd_$prod-argTypeProd_$argTypeProd-*-${com}_comm.log`\"
|
|
||||||
fi
|
|
||||||
eval echo -ne "\${value$cache}" | cut -d ' ' -f $i | sed -r 's/(.*)/\t\1/' | tr -d '\n' >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
|
||||||
done
|
|
||||||
done
|
|
||||||
done
|
|
||||||
done
|
|
||||||
else
|
|
||||||
for metrique in $metriqueList ; do
|
|
||||||
case "$metrique" in
|
|
||||||
cache_hits) metriquePattern="cache hits" ;;
|
|
||||||
cache_miss) metriquePattern="cache miss" ;;
|
|
||||||
cycles) metriquePattern="cycles" ;;
|
|
||||||
total_time) metriquePattern="total_time" ;;
|
|
||||||
*) echo "Pas de pattern pour cette métrique : $metrique" ; exit 1 ;;
|
|
||||||
esac
|
|
||||||
for argTypeProd in $argTypeProdList ; do
|
|
||||||
for cache in $cacheList ; do
|
|
||||||
if [ $cache != ${cacheList%% *} -o $argTypeProd != ${argTypeProdList%% *} ] ; then
|
|
||||||
echo "" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
|
||||||
fi
|
|
||||||
for i in 1 2 3 ; do # 1: total, 2: by loop, 3: by write
|
|
||||||
echo -ne "\n$argTypeProd\t\t" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
|
||||||
for com in `eval echo \\\$\${bench}List` ; do
|
|
||||||
if [ $i -eq 1 ]
|
|
||||||
then
|
|
||||||
eval value$com=\"`perl -n -e "print \"\\$1 \\$2 \\$3 \" if /$metriquePattern.* (\S+) \/ (\S+) \/ (\S+)/" cache_$cache-*-typeProd_$prod-argTypeProd_$argTypeProd-*-${com}_comm.log`\"
|
|
||||||
fi
|
|
||||||
eval echo -ne "\${value$com}" | cut -d ' ' -f $i | sed -r 's/(.*)/\t\1/' | tr -d '\n' >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
|
||||||
done
|
|
||||||
done
|
|
||||||
done
|
|
||||||
done
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
if [ $bench = "communication" -o $prod != "useless_loop" ] ; then
|
|
||||||
echo "set style data histogram" >> multicores.gnuplot
|
|
||||||
else
|
|
||||||
echo "set style data lines" >> multicores.gnuplot
|
|
||||||
fi
|
|
||||||
for metrique in $metriqueList ; do
|
for metrique in $metriqueList ; do
|
||||||
case "$metrique" in
|
case "$metrique" in
|
||||||
cache_hits) ylabel="Nb cache hit" ;;
|
cache_hits)
|
||||||
cache_miss) ylabel="Nb cache miss" ;;
|
metriquePattern="cache hits"
|
||||||
cycles) ylabel="Nb cycles" ;;
|
ylabel="Nb cache hit" ;;
|
||||||
total_time) ylabel="Secondes" ;;
|
cache_miss)
|
||||||
*) echo "Pas de label pour cette métrique : $metrique" ; exit 1 ;;
|
metriquePattern="cache miss"
|
||||||
|
ylabel="Nb cache miss" ;;
|
||||||
|
cycles)
|
||||||
|
metriquePattern="cycles"
|
||||||
|
ylabel="Nb cycles" ;;
|
||||||
|
total_time)
|
||||||
|
metriquePattern="total_time"
|
||||||
|
ylabel="Secondes" ;;
|
||||||
|
*)
|
||||||
|
echo "Pas de pattern pour cette métrique : $metrique"
|
||||||
|
echo "Pas de label pour cette métrique : $metrique"
|
||||||
|
exit 1 ;;
|
||||||
esac
|
esac
|
||||||
|
create_dat_header "$prod" "$bench" "$metrique"
|
||||||
for yscale in "nologscale" "logscale" ; do
|
create_dat_body "$prod" "$bench" "$metrique" "$argTypeProd" "$metriquePattern"
|
||||||
echo "set $yscale y" >> multicores.gnuplot
|
create_gnuplot_file "$prod" "$bench" "$metrique" "$ylabel"
|
||||||
[ "$yscale" = "nologscale" ] && echo "set yrange [0:*]" >> multicores.gnuplot \
|
|
||||||
|| echo "set yrange [*:*]" >> multicores.gnuplot
|
|
||||||
echo "set title \"Producteur : $prod\"" >> multicores.gnuplot
|
|
||||||
if [ $bench = "communication" -o $prod != "useless_loop" ] ; then
|
|
||||||
echo "set ylabel \"$ylabel\"" >> multicores.gnuplot
|
|
||||||
echo "set output 'bench_$bench-prod_$prod-$metrique-total-$yscale.ps'" >> multicores.gnuplot
|
|
||||||
echo "plot 'bench_$bench-prod_$prod-metrique_$metrique.dat' every 3::1 using 2:xtic(1) title 2 , '' every 3::1 u 3 ti 3" >> multicores.gnuplot
|
|
||||||
if [ $metrique != "total_time" -o $yscale != "logscale" ] ; then
|
|
||||||
echo "set ylabel \"$ylabel par boucle\"" >> multicores.gnuplot
|
|
||||||
echo "set output 'bench_$bench-prod_$prod-$metrique-byLoop-$yscale.ps'" >> multicores.gnuplot
|
|
||||||
echo "plot 'bench_$bench-prod_$prod-metrique_$metrique.dat' every 3::2 using 2:xtic(1) title 2 , '' every 3::2 u 3 ti 3" >> multicores.gnuplot
|
|
||||||
echo "set ylabel \"$ylabel par ecriture\"" >> multicores.gnuplot
|
|
||||||
echo "set output 'bench_$bench-prod_$prod-$metrique-byWrite-$yscale.ps'" >> multicores.gnuplot
|
|
||||||
echo "plot 'bench_$bench-prod_$prod-metrique_$metrique.dat' every 3::3 using 2:xtic(1) title 2 , '' every 3::3 u 3 ti 3" >> multicores.gnuplot
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
columnNo=2
|
|
||||||
for com in `eval echo \\\$\${bench}List` ; do
|
|
||||||
baseTitle=`head -1 bench_$bench-prod_$prod-metrique_$metrique.dat | cut -f $((columnNo + 2))`
|
|
||||||
echo "set xtics" >> multicores.gnuplot
|
|
||||||
echo "set ylabel \"$ylabel\"" >> multicores.gnuplot
|
|
||||||
echo "set output 'bench_$bench-prod_$prod-$metrique-total-$yscale.ps'" >> multicores.gnuplot
|
|
||||||
echo "plot 'bench_$bench-prod_$prod-metrique_$metrique.dat' every :2:0:0:0 using 1:$columnNo:xtic(1) title '$baseTitle (L2)', '' every :2:0:1:0 using 1:$columnNo:xtic(1) title '$baseTitle (mem)'" >> multicores.gnuplot
|
|
||||||
if [ $metrique != "total_time" -o $yscale != "logscale" ] ; then
|
|
||||||
echo "set ylabel \"$ylabel par boucle\"" >> multicores.gnuplot
|
|
||||||
echo "set output 'bench_$bench-prod_$prod-$metrique-byLoop-$yscale.ps'" >> multicores.gnuplot
|
|
||||||
echo "plot 'bench_$bench-prod_$prod-metrique_$metrique.dat' every :2:1:0:1 using 1:$columnNo:xtic(1) title '$baseTitle (L2)', '' every :2:1:1:1 using 1:$columnNo:xtic(1) title '$baseTitle (mem)'" >> multicores.gnuplot
|
|
||||||
echo "set ylabel \"$ylabel par ecriture\"" >> multicores.gnuplot
|
|
||||||
echo "set output 'bench_$bench-prod_$prod-$metrique-byWrite-$yscale.ps'" >> multicores.gnuplot
|
|
||||||
echo "plot 'bench_$bench-prod_$prod-metrique_$metrique.dat' every :2:2:0:2 using 1:$columnNo:xtic(1) title '$baseTitle (L2)', '' every :2:2:1:2 using 1:$columnNo:xtic(1) title '$baseTitle (mem)'" >> multicores.gnuplot
|
|
||||||
fi
|
|
||||||
columnNo=$((columnNo + 1))
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
gnuplot multicores.gnuplot
|
for gnuplotFile in *.gnuplot
|
||||||
|
do
|
||||||
for f in *.ps ; do
|
gnuplot "$gnuplotFile"
|
||||||
ps2pdf $f
|
done
|
||||||
|
|
||||||
|
for psFile in *.ps
|
||||||
|
do
|
||||||
|
ps2pdf $psFile
|
||||||
done
|
done
|
||||||
|
|
Loading…
Reference in New Issue