Add shell options to local function params
This requires to switch from bash to sh
This commit is contained in:
parent
55d2d70b6e
commit
9af26178ba
|
@ -1,4 +1,4 @@
|
||||||
#! /bin/bash
|
#!/bin/sh
|
||||||
|
|
||||||
set -u
|
set -u
|
||||||
|
|
||||||
|
@ -8,14 +8,14 @@ communicationList="asm_cache c_cache shared_mem shared_mem_opt pipe"
|
||||||
comList=`ls *.log | perl -ni -e '/-([^-]+)_comm/; $a{$1}=""; END { foreach ( sort keys %a ) {print "$_ "}}'`
|
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 "$_ "}}'`
|
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 "$_ "}}'`
|
prodList=`ls *.log | perl -ni -e '/typeProd_([^-]+)-/; $a{$1}=""; END { foreach ( sort keys %a ) {print "$_ "}}'`
|
||||||
barriereCommaList=`echo $barriereList | sed "s/ /,/g"`
|
firstBarriereComm=`echo $barriereList | sed -r "s/^[^ ]* .*$//"`
|
||||||
argTypeProdList=`eval ls *typeProd_useless_loop*{$barriereCommaList}_comm.log | perl -ni -e '/argTypeProd_([\d]+)-/; $a{$1}=""; END { foreach ( sort { $a <=> $b } keys %a ) {print "$_ "}}'`
|
argTypeProdList=`eval ls *typeProd_useless_loop*${firstBarriereComm}_comm.log | perl -ni -e '/argTypeProd_([\d]+)-/; $a{$1}=""; END { foreach ( sort { $a <=> $b } keys %a ) {print "$_ "}}'`
|
||||||
|
|
||||||
metriqueList="cache_hits cache_miss cycles total_time"
|
metriqueList="cache_hits cache_miss cycles total_time"
|
||||||
|
|
||||||
use_histo ()
|
use_histo ()
|
||||||
{
|
{
|
||||||
local prod bench
|
local prod bench -
|
||||||
prod="$1"
|
prod="$1"
|
||||||
bench="$2"
|
bench="$2"
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ use_histo ()
|
||||||
|
|
||||||
contains_zero()
|
contains_zero()
|
||||||
{
|
{
|
||||||
local prod bench datFile lineNum commTechs nbCommTechs nbArg iMin iMax
|
local prod bench datFile lineNum commTechs nbCommTechs nbArg iMin iMax -
|
||||||
prod="$1"
|
prod="$1"
|
||||||
bench="$2"
|
bench="$2"
|
||||||
datFile="$3"
|
datFile="$3"
|
||||||
|
@ -63,7 +63,7 @@ contains_zero()
|
||||||
|
|
||||||
create_dat_header ()
|
create_dat_header ()
|
||||||
{
|
{
|
||||||
local prod bench metrique
|
local prod bench metrique -
|
||||||
prod="$1"
|
prod="$1"
|
||||||
bench="$2"
|
bench="$2"
|
||||||
metrique="$3"
|
metrique="$3"
|
||||||
|
@ -80,10 +80,10 @@ create_dat_header ()
|
||||||
then
|
then
|
||||||
echo >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
echo >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||||
fi
|
fi
|
||||||
echo -ne "Method\t\t" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
echo -n "Method\t\t" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||||
for cache in $cacheList
|
for cache in $cacheList
|
||||||
do
|
do
|
||||||
echo -ne "\t$cache" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
echo -n "\t$cache" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
# Several points per com and cache (one per calc argument)
|
# Several points per com and cache (one per calc argument)
|
||||||
|
@ -96,10 +96,10 @@ create_dat_header ()
|
||||||
fi
|
fi
|
||||||
for j in 1 2 3 # 1: total, 2: by loop, 3: by write
|
for j in 1 2 3 # 1: total, 2: by loop, 3: by write
|
||||||
do
|
do
|
||||||
echo -ne "argTypeProd\t\t" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
echo -n "argTypeProd\t\t" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||||
for com in $barriereList
|
for com in $barriereList
|
||||||
do
|
do
|
||||||
echo -ne "\t$com" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
echo -n "\t$com" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||||
done
|
done
|
||||||
echo >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
echo >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||||
done
|
done
|
||||||
|
@ -109,7 +109,7 @@ create_dat_header ()
|
||||||
|
|
||||||
get_metric_values ()
|
get_metric_values ()
|
||||||
{
|
{
|
||||||
local prod com cache argTypeProd logFile
|
local prod com cache argTypeProd logFile -
|
||||||
prod="$1"
|
prod="$1"
|
||||||
com="$2"
|
com="$2"
|
||||||
cache="$3"
|
cache="$3"
|
||||||
|
@ -122,7 +122,7 @@ get_metric_values ()
|
||||||
|
|
||||||
create_simple_dat_body ()
|
create_simple_dat_body ()
|
||||||
{
|
{
|
||||||
local prod bench metrique argTypeProd
|
local prod bench metrique argTypeProd -
|
||||||
prod="$1"
|
prod="$1"
|
||||||
bench="$2"
|
bench="$2"
|
||||||
metrique="$3"
|
metrique="$3"
|
||||||
|
@ -132,7 +132,7 @@ create_simple_dat_body ()
|
||||||
do
|
do
|
||||||
for i in 1 2 3 # 1: total, 2: by loop, 3: by write
|
for i in 1 2 3 # 1: total, 2: by loop, 3: by write
|
||||||
do
|
do
|
||||||
echo -ne "\n$com\t\t" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
echo -n "\n$com\t\t" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||||
for cache in $cacheList
|
for cache in $cacheList
|
||||||
do
|
do
|
||||||
if [ $i -eq 1 ]
|
if [ $i -eq 1 ]
|
||||||
|
@ -140,7 +140,7 @@ create_simple_dat_body ()
|
||||||
valuetmp=`get_metric_values "$prod" "$com" "$cache" "$argTypeProd" "$metriquePattern"`
|
valuetmp=`get_metric_values "$prod" "$com" "$cache" "$argTypeProd" "$metriquePattern"`
|
||||||
eval value$cache=\"$valuetmp\"
|
eval value$cache=\"$valuetmp\"
|
||||||
fi
|
fi
|
||||||
eval echo -ne "\${value$cache}" | sed -r "s/^([^ ]+ ){$((i-1))}([^ ]+).*/\t\2/" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
eval echo -n "\${value$cache}" | sed -r "s/^([^ ]+ ){$((i-1))}([^ ]+).*/\t\2/" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
@ -148,7 +148,7 @@ create_simple_dat_body ()
|
||||||
|
|
||||||
create_complex_dat_body ()
|
create_complex_dat_body ()
|
||||||
{
|
{
|
||||||
local prod bench metrique
|
local prod bench metrique -
|
||||||
prod="$1"
|
prod="$1"
|
||||||
bench="$2"
|
bench="$2"
|
||||||
metrique="$3"
|
metrique="$3"
|
||||||
|
@ -163,7 +163,7 @@ create_complex_dat_body ()
|
||||||
fi
|
fi
|
||||||
for i in 1 2 3 # 1: total, 2: by loop, 3: by write
|
for i in 1 2 3 # 1: total, 2: by loop, 3: by write
|
||||||
do
|
do
|
||||||
echo -ne "\n$argTypeProd\t\t" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
echo -n "\n$argTypeProd\t\t" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||||
for com in `eval echo \\\$\${bench}List`
|
for com in `eval echo \\\$\${bench}List`
|
||||||
do
|
do
|
||||||
if [ $i -eq 1 ]
|
if [ $i -eq 1 ]
|
||||||
|
@ -171,7 +171,7 @@ create_complex_dat_body ()
|
||||||
valuetmp=`get_metric_values "$prod" "$com" "$cache" "$argTypeProd" "$metriquePattern"`
|
valuetmp=`get_metric_values "$prod" "$com" "$cache" "$argTypeProd" "$metriquePattern"`
|
||||||
eval value$com=\"$valuetmp\"
|
eval value$com=\"$valuetmp\"
|
||||||
fi
|
fi
|
||||||
eval echo -ne "\${value$com}" | sed -r "s/^([^ ]+ ){$((i-1))}([^ ]+).*/\t\2/" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
eval echo -n "\${value$com}" | sed -r "s/^([^ ]+ ){$((i-1))}([^ ]+).*/\t\2/" >> bench_$bench-prod_$prod-metrique_$metrique.dat
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
@ -180,7 +180,7 @@ create_complex_dat_body ()
|
||||||
|
|
||||||
create_dat_body ()
|
create_dat_body ()
|
||||||
{
|
{
|
||||||
local prod bench metrique argTypeProd
|
local prod bench metrique argTypeProd -
|
||||||
prod="$1"
|
prod="$1"
|
||||||
bench="$2"
|
bench="$2"
|
||||||
metrique="$3"
|
metrique="$3"
|
||||||
|
@ -196,7 +196,7 @@ create_dat_body ()
|
||||||
|
|
||||||
create_gnuplot_header ()
|
create_gnuplot_header ()
|
||||||
{
|
{
|
||||||
local prod bench gnuplotFile
|
local prod bench gnuplotFile -
|
||||||
prod="$1"
|
prod="$1"
|
||||||
bench="$2"
|
bench="$2"
|
||||||
gnuplotFile="$3"
|
gnuplotFile="$3"
|
||||||
|
@ -218,7 +218,7 @@ create_gnuplot_header ()
|
||||||
|
|
||||||
create_simple_gnuplot_body ()
|
create_simple_gnuplot_body ()
|
||||||
{
|
{
|
||||||
local metrique ylabel yscale patternPlotFile datFile
|
local metrique ylabel yscale patternPlotFile datFile -
|
||||||
ylabel="$1"
|
ylabel="$1"
|
||||||
lineNum="$2"
|
lineNum="$2"
|
||||||
datFile="$3"
|
datFile="$3"
|
||||||
|
@ -231,7 +231,7 @@ create_simple_gnuplot_body ()
|
||||||
|
|
||||||
create_complex_gnuplot_body ()
|
create_complex_gnuplot_body ()
|
||||||
{
|
{
|
||||||
local bench ylabel lineNum datFile patternPlotFile columnNo baseTitle
|
local bench ylabel lineNum datFile patternPlotFile columnNo baseTitle -
|
||||||
bench="$1"
|
bench="$1"
|
||||||
ylabel="$2"
|
ylabel="$2"
|
||||||
lineNum="$3"
|
lineNum="$3"
|
||||||
|
@ -258,7 +258,7 @@ create_complex_gnuplot_body ()
|
||||||
|
|
||||||
create_gnuplot_body ()
|
create_gnuplot_body ()
|
||||||
{
|
{
|
||||||
local prod bench yscale ylabel lineNum datFile patternPlotFile
|
local prod bench yscale ylabel lineNum datFile patternPlotFile -
|
||||||
prod="$1"
|
prod="$1"
|
||||||
bench="$2"
|
bench="$2"
|
||||||
yscale="$3"
|
yscale="$3"
|
||||||
|
@ -285,7 +285,7 @@ create_gnuplot_body ()
|
||||||
|
|
||||||
create_gnuplot_file ()
|
create_gnuplot_file ()
|
||||||
{
|
{
|
||||||
local prod bench metrique ylabel yscale avg lineNum
|
local prod bench metrique ylabel yscale avg lineNum -
|
||||||
prod="$1"
|
prod="$1"
|
||||||
bench="$2"
|
bench="$2"
|
||||||
metrique="$3"
|
metrique="$3"
|
||||||
|
@ -319,6 +319,8 @@ create_gnuplot_file ()
|
||||||
|
|
||||||
main()
|
main()
|
||||||
{
|
{
|
||||||
|
local -
|
||||||
|
|
||||||
for prod in $prodList ; do
|
for prod in $prodList ; do
|
||||||
case "$prod" in
|
case "$prod" in
|
||||||
matrice) argTypeProd=16 ;;
|
matrice) argTypeProd=16 ;;
|
||||||
|
|
Loading…
Reference in New Issue