Add shell options to local function params

This requires to switch from bash to sh
This commit is contained in:
Thomas Preud'homme 2010-05-17 17:34:26 +02:00
parent 55d2d70b6e
commit 9af26178ba
1 changed files with 25 additions and 23 deletions

View File

@ -1,4 +1,4 @@
#! /bin/bash
#!/bin/sh
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 "$_ "}}'`
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 "$_ "}}'`
barriereCommaList=`echo $barriereList | sed "s/ /,/g"`
argTypeProdList=`eval ls *typeProd_useless_loop*{$barriereCommaList}_comm.log | perl -ni -e '/argTypeProd_([\d]+)-/; $a{$1}=""; END { foreach ( sort { $a <=> $b } keys %a ) {print "$_ "}}'`
firstBarriereComm=`echo $barriereList | sed -r "s/^[^ ]* .*$//"`
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"
use_histo ()
{
local prod bench
local prod bench -
prod="$1"
bench="$2"
@ -25,7 +25,7 @@ use_histo ()
contains_zero()
{
local prod bench datFile lineNum commTechs nbCommTechs nbArg iMin iMax
local prod bench datFile lineNum commTechs nbCommTechs nbArg iMin iMax -
prod="$1"
bench="$2"
datFile="$3"
@ -63,7 +63,7 @@ contains_zero()
create_dat_header ()
{
local prod bench metrique
local prod bench metrique -
prod="$1"
bench="$2"
metrique="$3"
@ -80,10 +80,10 @@ create_dat_header ()
then
echo >> bench_$bench-prod_$prod-metrique_$metrique.dat
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
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
# Several points per com and cache (one per calc argument)
@ -96,10 +96,10 @@ create_dat_header ()
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
echo -n "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
echo -n "\t$com" >> bench_$bench-prod_$prod-metrique_$metrique.dat
done
echo >> bench_$bench-prod_$prod-metrique_$metrique.dat
done
@ -109,7 +109,7 @@ create_dat_header ()
get_metric_values ()
{
local prod com cache argTypeProd logFile
local prod com cache argTypeProd logFile -
prod="$1"
com="$2"
cache="$3"
@ -122,7 +122,7 @@ get_metric_values ()
create_simple_dat_body ()
{
local prod bench metrique argTypeProd
local prod bench metrique argTypeProd -
prod="$1"
bench="$2"
metrique="$3"
@ -132,7 +132,7 @@ create_simple_dat_body ()
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
echo -n "\n$com\t\t" >> bench_$bench-prod_$prod-metrique_$metrique.dat
for cache in $cacheList
do
if [ $i -eq 1 ]
@ -140,7 +140,7 @@ create_simple_dat_body ()
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
eval echo -n "\${value$cache}" | sed -r "s/^([^ ]+ ){$((i-1))}([^ ]+).*/\t\2/" >> bench_$bench-prod_$prod-metrique_$metrique.dat
done
done
done
@ -148,7 +148,7 @@ create_simple_dat_body ()
create_complex_dat_body ()
{
local prod bench metrique
local prod bench metrique -
prod="$1"
bench="$2"
metrique="$3"
@ -163,7 +163,7 @@ create_complex_dat_body ()
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
echo -n "\n$argTypeProd\t\t" >> bench_$bench-prod_$prod-metrique_$metrique.dat
for com in `eval echo \\\$\${bench}List`
do
if [ $i -eq 1 ]
@ -171,7 +171,7 @@ create_complex_dat_body ()
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
eval echo -n "\${value$com}" | sed -r "s/^([^ ]+ ){$((i-1))}([^ ]+).*/\t\2/" >> bench_$bench-prod_$prod-metrique_$metrique.dat
done
done
done
@ -180,7 +180,7 @@ create_complex_dat_body ()
create_dat_body ()
{
local prod bench metrique argTypeProd
local prod bench metrique argTypeProd -
prod="$1"
bench="$2"
metrique="$3"
@ -196,7 +196,7 @@ create_dat_body ()
create_gnuplot_header ()
{
local prod bench gnuplotFile
local prod bench gnuplotFile -
prod="$1"
bench="$2"
gnuplotFile="$3"
@ -218,7 +218,7 @@ create_gnuplot_header ()
create_simple_gnuplot_body ()
{
local metrique ylabel yscale patternPlotFile datFile
local metrique ylabel yscale patternPlotFile datFile -
ylabel="$1"
lineNum="$2"
datFile="$3"
@ -231,7 +231,7 @@ create_simple_gnuplot_body ()
create_complex_gnuplot_body ()
{
local bench ylabel lineNum datFile patternPlotFile columnNo baseTitle
local bench ylabel lineNum datFile patternPlotFile columnNo baseTitle -
bench="$1"
ylabel="$2"
lineNum="$3"
@ -258,7 +258,7 @@ create_complex_gnuplot_body ()
create_gnuplot_body ()
{
local prod bench yscale ylabel lineNum datFile patternPlotFile
local prod bench yscale ylabel lineNum datFile patternPlotFile -
prod="$1"
bench="$2"
yscale="$3"
@ -285,7 +285,7 @@ create_gnuplot_body ()
create_gnuplot_file ()
{
local prod bench metrique ylabel yscale avg lineNum
local prod bench metrique ylabel yscale avg lineNum -
prod="$1"
bench="$2"
metrique="$3"
@ -319,6 +319,8 @@ create_gnuplot_file ()
main()
{
local -
for prod in $prodList ; do
case "$prod" in
matrice) argTypeProd=16 ;;