[Comm tech bench] Some parsing.sh debug
- Correct some gnuplot "every" misuse - Don't skip 2 lines for useless_loop - Try to deal with xticlabels => Need a refactoring to have 1 gnuplot file per output
This commit is contained in:
parent
31a2e59227
commit
baff7d6b6e
|
@ -27,24 +27,22 @@ for prod in $prodList ; do
|
|||
*) argTypeProd=1 ;;
|
||||
esac
|
||||
for bench in "communication" "barriere" ; do
|
||||
# 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 `eval echo \\\$\${bench}List` ; do
|
||||
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
|
||||
fi
|
||||
# for file in cache_$cache-*-typeProd_$prod-*-${com}_comm.log ; do
|
||||
# argTypeProd=`echo "$file" | sed -r "s/.*argTypeProd_([[:digit:]]+).*/\1/"`
|
||||
# echo -ne "\t\t$argTypeProd" >> bench_$bench-prod_$prod-$metrique.dat
|
||||
# done
|
||||
done
|
||||
if [ $bench = "communication" -o $prod != "useless_loop" ] ; then
|
||||
for com in `eval echo \\\$\${bench}List` ; do
|
||||
|
@ -79,7 +77,9 @@ for prod in $prodList ; do
|
|||
esac
|
||||
for argTypeProd in $argTypeProdList ; do
|
||||
for cache in $cacheList ; do
|
||||
echo "" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||
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
|
||||
|
@ -94,12 +94,11 @@ for prod in $prodList ; do
|
|||
done
|
||||
done
|
||||
fi
|
||||
if [ "${bench}" != "barriere" ] ;
|
||||
then
|
||||
# echo "set style data lines" >> multicores.gnuplot
|
||||
#else
|
||||
if [ $bench = "communication" -o $prod != "useless_loop" ] ; then
|
||||
echo "set style data histogram" >> multicores.gnuplot
|
||||
#fi
|
||||
else
|
||||
echo "set style data lines" >> multicores.gnuplot
|
||||
fi
|
||||
for metrique in $metriqueList ; do
|
||||
case "$metrique" in
|
||||
cache_hits) ylabel="Nb cache hit" ;;
|
||||
|
@ -114,18 +113,39 @@ for prod in $prodList ; do
|
|||
[ "$yscale" = "nologscale" ] && echo "set yrange [0:*]" >> multicores.gnuplot \
|
||||
|| echo "set yrange [*:*]" >> multicores.gnuplot
|
||||
echo "set title \"Producteur : $prod\"" >> 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 3:1 using 2:xtic(1) title 2 , '' every 3:1 u 3 ti 3" >> multicores.gnuplot
|
||||
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
|
||||
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
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
|
@ -134,5 +154,3 @@ gnuplot multicores.gnuplot
|
|||
for f in *.ps ; do
|
||||
ps2pdf $f
|
||||
done
|
||||
|
||||
acroread *.pdf
|
||||
|
|
Loading…
Reference in New Issue