]> git.somenet.org - pub/jan/parprog.git/blob - prefix/runAll.sh
mehr englischeres englisch ;)
[pub/jan/parprog.git] / prefix / runAll.sh
1 #!/bin/bash
2
3 if [ ! -f numlist.bin ]; then
4         echo "generating numfile.bin"
5         dd if=/dev/urandom of=numlist.bin bs=1000 count=100000
6 fi
7
8 if [ ! -e build ]; then
9         echo "compiling"
10         make
11 fi
12
13 STARTTS="`date --iso-8601=minutes`"
14 SCHEDULING="static dynamic guided runtime"
15 ALGORITHMS="seq datapar recurse hillis_sum hillis_partial reduce"
16 #RUNLIST="$(seq 0 250000 1000000) $(seq 0 2500000 10000000) $(seq 0 25000000 100000000)"
17 RUNLIST="1024 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576 2097152 4194304 8388608 16777216 33554432 67108864 134217728"
18
19 echo "STARTING: stats/raw/${STARTTS}"
20 mkdir -p "stats/raw/${STARTTS}"
21
22 for sched in $SCHEDULING; do
23         echo "***** sched: ${sched} *****"
24         OMP_SCHEDULE=sched
25         ulimit -s unlimited
26         for algo in $ALGORITHMS; do
27                 echo "*** algo: ${algo} ***"
28                 for i in $RUNLIST; do
29                         if [ "$i" -eq "0" ] ; then
30                                 echo "* ignoring 0 run *"
31                         else 
32                                 build/$algo -n $i > "stats/raw/tmp" 2> /dev/null
33                                 cat "stats/raw/tmp"
34                                 mv stats/raw/tmp "stats/raw/${STARTTS}/${sched}_${algo}_n${i}"
35                         fi
36                 done
37         done
38 done
39
40 cd stats
41 ./parseDat.py
42
43 echo "done"
44