3 #TODO: alle scheduler auswerten
4 #TODO: werte der runs behalten (kein rm-rf stats) und bei jedem weiteren run soll parseDat.py alle vorhandenen runs auswerten und das minimum nehmen.
5 #TODO: im notfall in bash auswerten, sollte python nicht einfach glob'ben können.
6 #TODO: remove binname in output -> nonunique info - use raw filename instead.
7 #TODO: noch ein neuer algo: mit pragma reduce anstelle von pragma for -> angabe
8 #TODO: performance counters -> angabe
11 if [ ! -f numlist.bin ]; then
12 echo "generating numfile.bin"
13 dd if=/dev/urandom of=numlist.bin bs=1000 count=100000
16 STARTTS="`date --iso-8601=minutes`"
17 SCHEDULING="static dynamic guided runtime"
18 ALGORITHMS="seq datapar recurse hillis_sum hillis_partial"
19 RUNLIST="$(seq 0 250000 1000000) $(seq 0 2500000 10000000)"
20 # $(seq 0 25000000 100000000)"
23 echo "STARTING: stats/raw/${STARTTS}"
24 mkdir -p "stats/raw/${STARTTS}"
26 for sched in $SCHEDULING; do
27 echo "***** sched: ${sched} *****"
30 for algo in $ALGORITHMS; do
31 echo "*** algo: ${algo} ***"
33 if [ "$i" -eq "0" ] ; then
34 echo "* ignoring 0 run *"
36 build/$algo -n $i > "stats/raw/tmp" 2> /dev/null
38 mv stats/raw/tmp "stats/raw/${STARTTS}/${sched}_${algo}_n${i}"
44 echo "stats generation does not work - exitting"
50 echo "done - hit ENTER to exit"