root / synthbench / euroben-dm / xrun
History | View | Annotate | Download (948 Bytes)
1 | 0:839f52ef7657 | louridas | #!/bin/sh |
---|---|---|---|
2 | 0:839f52ef7657 | louridas | # |
3 | 0:839f52ef7657 | louridas | # Execute script for a module program of the EuroBen MPI Benchmark. |
4 | 0:839f52ef7657 | louridas | # |
5 | 0:839f52ef7657 | louridas | LOGDIR=Log.`hostname` |
6 | 0:839f52ef7657 | louridas | PROG=$1/x.$1 |
7 | 0:839f52ef7657 | louridas | |
8 | 0:839f52ef7657 | louridas | if test ! -d ${LOGDIR} |
9 | 0:839f52ef7657 | louridas | then |
10 | 0:839f52ef7657 | louridas | mkdir ${LOGDIR} |
11 | 0:839f52ef7657 | louridas | fi |
12 | 0:839f52ef7657 | louridas | |
13 | 0:839f52ef7657 | louridas | if [ $1 = "mod1h" ]; then |
14 | 0:839f52ef7657 | louridas | NP=6 |
15 | 0:839f52ef7657 | louridas | elif [ $1 = "mod1j" -o $1 = "mod1k" ]; then |
16 | 0:839f52ef7657 | louridas | NP=2 |
17 | 0:839f52ef7657 | louridas | elif [ $1 = "mod2f" -o $1 = "mod2g" ]; then |
18 | 0:839f52ef7657 | louridas | m=0 |
19 | 0:839f52ef7657 | louridas | NP=$NPROCS |
20 | 0:839f52ef7657 | louridas | while [ "$NP" -gt 1 ]; do |
21 | 0:839f52ef7657 | louridas | NP=`expr $NP / 2` |
22 | 0:839f52ef7657 | louridas | m=`expr $m + 1` |
23 | 0:839f52ef7657 | louridas | done |
24 | 0:839f52ef7657 | louridas | while [ "$m" -gt 0 ]; do |
25 | 0:839f52ef7657 | louridas | NP=`expr "$NP" \* 2` |
26 | 0:839f52ef7657 | louridas | m=`expr $m - 1` |
27 | 0:839f52ef7657 | louridas | done |
28 | 0:839f52ef7657 | louridas | if [ "$NP" -ne "$NPROCS" ]; then |
29 | 0:839f52ef7657 | louridas | echo "$1: NPROCS has been modified to Max(n) for which 2^n < NPROCS." |
30 | 0:839f52ef7657 | louridas | fi |
31 | 0:839f52ef7657 | louridas | else |
32 | 0:839f52ef7657 | louridas | NP=$NPROCS |
33 | 0:839f52ef7657 | louridas | fi |
34 | 0:839f52ef7657 | louridas | |
35 | 0:839f52ef7657 | louridas | if [ "$NP" -lt 10 ]; then |
36 | 0:839f52ef7657 | louridas | LOGFILE=${LOGDIR}/$1.p0${NP}.log |
37 | 0:839f52ef7657 | louridas | else |
38 | 0:839f52ef7657 | louridas | LOGFILE=${LOGDIR}/$1.p${NP}.log |
39 | 0:839f52ef7657 | louridas | fi |
40 | 0:839f52ef7657 | louridas | |
41 | 0:839f52ef7657 | louridas | if test -f ${PROG}; then |
42 | 0:839f52ef7657 | louridas | exec 1>> ${LOGFILE} 2>&1 |
43 | 0:839f52ef7657 | louridas | echo ; echo ; echo start $1 at `date` id = $$ |
44 | 0:839f52ef7657 | louridas | (cd $1; time mpirun -np $NP ./x.$1) |
45 | 0:839f52ef7657 | louridas | echo ; echo end $1 at `date` 'id =' $$ |
46 | 0:839f52ef7657 | louridas | else |
47 | 0:839f52ef7657 | louridas | exec 1>> ${LOGFILE} 2>&1 |
48 | 0:839f52ef7657 | louridas | echo "$1 not found" |
49 | 0:839f52ef7657 | louridas | fi |