]> git.somenet.org - pub/astra/parallel.git/blob - scan/runAll.sh
fix'd deadlock if there is just 1 node.
[pub/astra/parallel.git] / scan / 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 stuff"
10         make
11 fi
12
13 STARTTS="`date --iso-8601=minutes`"
14 NODELIST="$(seq 0 4 32)"
15 NNPLIST="$(seq 0 4 16)"
16 RUNLIST="$(seq 0 25000 100000) $(seq 0 250000 1000000) $(seq 0 2500000 10000000)"
17
18 echo "STARTING: stats/raw/${STARTTS}"
19 mkdir -p "stats/raw/${STARTTS}"
20
21 for nno in $NODELIST; do
22         for nnnp in $NNPLIST; do
23                 for i in $RUNLIST; do
24                         if [ "$nno" -eq "0" ] ; then
25                                 nno=1
26                         fi
27                         if [ "$nnnp" -eq "0" ] ; then
28                                 nnnp=1
29                         fi
30                         if [ "$i" -eq "0" ] ; then
31                                 echo "* ignoring 0 run *"
32                         else
33                                 echo "running with nno:${nno} nnnp:${nnnp} n:${i}" 
34                                 mpirun -node 1-${nno} -nnp ${nnnp} build/scan -n${i} &> stats/tmp && mv stats/tmp "stats/raw/${STARTTS}/no${nno}_nnp${nnnp}_n${i}"
35                                 cat "stats/raw/${STARTTS}/no${nno}_nnp${nnnp}_n${i}" | grep "timing"
36                         fi
37                 done
38         done
39 done
40
41