Statistics
| Branch: | Revision:

root / synthbench / euroben-ports / base / Fortran-MPI / .svn / text-base / xrun.svn-base @ 0:839f52ef7657

History | View | Annotate | Download (948 Bytes)

1
#!/bin/sh
2
#
3
# Execute script for a module program of the EuroBen MPI Benchmark.
4
#
5
LOGDIR=Log.`hostname`
6
PROG=$1/x.$1
7

    
8
if test ! -d ${LOGDIR}
9
then
10
  mkdir ${LOGDIR}
11
fi
12

    
13
if [ $1 = "mod1h" ]; then
14
  NP=6
15
elif [ $1 = "mod1j" -o $1 = "mod1k" ]; then 
16
  NP=2
17
elif [ $1 = "mod2f" -o $1 = "mod2g" ]; then
18
  m=0
19
  NP=$NPROCS
20
  while [ "$NP" -gt 1 ]; do
21
    NP=`expr $NP / 2`
22
    m=`expr $m + 1`
23
  done
24
  while [ "$m" -gt 0 ]; do
25
    NP=`expr "$NP" \* 2`
26
    m=`expr $m - 1`
27
  done
28
  if [ "$NP" -ne "$NPROCS" ]; then
29
    echo "$1: NPROCS has been modified to Max(n) for which 2^n < NPROCS."
30
  fi
31
else
32
  NP=$NPROCS
33
fi
34

    
35
if [ "$NP" -lt 10 ]; then
36
  LOGFILE=${LOGDIR}/$1.p0${NP}.log
37
else
38
  LOGFILE=${LOGDIR}/$1.p${NP}.log
39
fi
40

    
41
if test -f ${PROG}; then
42
  exec 1>> ${LOGFILE} 2>&1
43
  echo ; echo ; echo start $1 at `date` id = $$
44
  (cd $1; time mpirun -np $NP ./x.$1)
45
  echo ; echo end $1 at `date` 'id =' $$
46
else
47
  exec 1>> ${LOGFILE} 2>&1
48
  echo "$1 not found"
49
fi