Skip to content
Snippets Groups Projects
Commit e8c0096a authored by Anh Nguyen-Tuong's avatar Anh Nguyen-Tuong
Browse files

Add spec2017

parent 375a5e2c
No related branches found
No related tags found
No related merge requests found
#!/bin/bash
# the bad boys
run_size="ref"
all_benchmarks="
600.perlbench_s 602.gcc_s 603.bwaves_s 605.mcf_s 607.cactuBSSN_s 619.lbm_s 620.omnetpp_s 621.wrf_s 623.xalancbmk_s 625.x264_s 627.cam4_s 628.pop2_s 631.deepsjeng_s 638.imagick_s 641.leela_s 644.nab_s 648.exchange2_s 649.fotonik3d_s 654.roms_s 657.xz_s 996.specrand_fs 998.specrand_is
"
#all_benchmarks="
#500.perlbench_r
#"
number=1
setup()
{
if [ ! -d spec2017 ]; then
#svn co ^/spec2017/trunk spec2017
git clone --depth 1 http://git.zephyr-software.com/allzp/spec2017.git spec2017
fi
if [[ ! -f /usr/bin/gfortran ]]; then
sudo apt-get install gfortran gcc g++ -y
fi
cd spec2017/
source shrc
}
run_test()
{
local config_name="$1"
local config="$2"
local benchmarks="$3"
tests_that_ran="$tests_that_ran $config_name"
cd $SPEC
if [ ! -d result.$config_name ]; then
bash -x $PEASOUP_UMBRELLA_DIR/postgres_reset.sh
rm -Rf result/*
runcpu --action scrub --config $config $benchmarks
echo
echo "**************************************************************************"
echo "Starting test of $config_name"
echo "**************************************************************************"
echo
#runspec --action validate --config $config -n $number $benchmarks
runcpu --config $config --iterations $number --size $run_size --copies=8 --parallel_test_workload $run_size --noreportable $benchmarks
cp benchspec/CPU/*/exe/* result
mv result result.$config_name
for bench in $benchmarks
do
mv benchspec/CPU/$bench/build/build*/peasoup*/logs result.$config_name/$bench.log
done
fi
}
get_size_result()
{
bench=$1
if [ -e $bench ]; then
size=$(stat --printf="%s" $bench)
#echo -n "$size"
#LC_ALL= numfmt --grouping $size
#LC_ALL= printf "%'d" $size
#LC_NUMERIC=en_US printf "%'d" $size
#LC_NUMERIC=en_US printf "%'f" $size
#LC_NUMERIC=en_US printf "%'.f" $size
#LC_NUMERIC=en_US printf "%'10.10f" $size
#LC_NUMERIC=en_US /usr/bin/printf "%'d" $size
echo $size
else
echo -n "0"
fi
}
get_result()
{
bench=$1
config=$2
results=$(cat $SPEC/result.$config/CPU2017.002.log|grep Success|grep $bench|grep ratio=|sed 's/.*ratio=//'|sed 's/,.*//')
sum=0
count=0
for res in $results
do
sum=$(echo $sum + $res | bc)
count=$(echo $count + 1 | bc)
done
#echo sum=$sum
#echo count=$count
res=$(echo "scale=2; $sum / $count" | bc 2> /dev/null )
count=$(echo $res|wc -w)
if [ $count = 1 ]; then
echo -n $res
else
echo -n "0"
fi
}
get_raw_results()
{
get_raw_perf_results $tests_that_ran
get_raw_size_results $tests_that_ran
#get_raw_fde_results $tests_that_ran
}
get_raw_perf_results()
{
configs="$*"
first_config=$1
echo "--------------------------------------------------------------"
echo "Performance results are:"
echo "--------------------------------------------------------------"
echo benchmark $configs
for bench in $all_benchmarks
do
echo -n "$bench "
for config in $*
do
get_result $bench $config
echo -n " "
done
echo
done
}
get_raw_size_results()
{
echo "--------------------------------------------------------------"
echo "Size results are:"
echo "--------------------------------------------------------------"
configs=$*
echo benchmark $configs
for bench in $SPEC/result.$first_config/*mytest-m64
do
echo -n "$(basename $bench _base.mytest-m64) "
for config in $*
do
if [[ $config == "baseline" ]]; then
file="$SPEC/result.$config/$(basename $bench)"
cp $file /tmp/foo.exe
strip /tmp/foo.exe
file="/tmp/foo.exe"
else
file="$SPEC/result.$config/$(basename $bench)"
fi
res=$(get_size_result $file)
#printf "%15s" $res
echo -n " $res"
done
echo
done
}
get_raw_fde_results()
{
echo "--------------------------------------------------------------"
echo "FDE results are:"
echo "--------------------------------------------------------------"
configs=$*
echo benchmark $configs
for bench in $SPEC/result.$first_config/*mytest-m64
do
#printf "%-20s" $(basename $bench _base.amd64-m64-gcc42-nn)
echo -n $(basename $bench _base.amd64-m64-gcc42-nn)
for config in $*
do
file="$SPEC/result.$config/$(basename $bench)"
res=$(readelf -w $file |grep FDE|wc -l )
#if [[ $config == "baseline" ]]; then
#else
#fi
#printf "%15s" $res
echo -n " $res"
done
echo
done
}
main()
{
local zipr_flags=" --backend zipr --step-option zipr:--add-sections --step-option zipr:true"
local trace_flags=" --step-option zipr:--traceplacement:on --step-option zipr:true"
local relax_flags=" --step-option zipr:--relax:on --step-option zipr:true --step-option zipr:--unpin:on --step-option zipr:false"
local nounpin_flags=" --step-option zipr:--unpin:on --step-option zipr:false"
local split_flags=" --step-option fill_in_indtargs:--split-eh-frame "
local icall_flags=" --step-option fix_calls:--no-fix-icalls "
local p1flags=" -c p1transform=on "
local zafl_flags=" --backend zipr -s meds_static=off -s rida=on -c move_globals=on -c zafl=on -o move_globals:--elftables-only "
local zafl_opt_flags="--backend zipr -s meds_static=off -s rida=on -c move_globals=on -c zafl=on -o move_globals:--elftables-only -o zipr:--traceplacement:on -o zafl:--stars "
# sets $SPEC
setup
local nops_config=$SPEC/config/ubuntu14.cfg
local withps_config=$SPEC/config/ubuntu14_withps.cfg
# baseline
run_test baseline $SPEC/config/ubuntu14.cfg "$all_benchmarks"
PSOPTS="$zipr_flags " run_test zipr $withps_config "$all_benchmarks"
PSOPTS="$zafl_flags " run_test zafl $withps_config "$all_benchmarks"
get_raw_results
}
main "$@"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment