Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Annotation of /benchmarks/scripts/run-one_sh.in
ViewVC logotype

Annotation of /benchmarks/scripts/run-one_sh.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1576 - (view) (download)

1 : jhr 1538 #!/bin/ksh
2 :     #
3 :     # A script for running a single Diderot benchmark test
4 :     #
5 :     # usage:
6 : jhr 1575 # scripts/run-one.sh bmark nruns nprocs [diderotc-flags] [-- runtime-flags]
7 :     # where
8 :     # bmark name of benchmark
9 :     # nruns number of runs per benchmark version
10 :     # nprocs number of processors for parallel version (0 means no parallel run)
11 : jhr 1538 #
12 :     # @configure_input@
13 :     #
14 :    
15 :     function usage {
16 :     echo "usage:"
17 : jhr 1575 echo " scripts/run-one.sh bmark nruns nprocs [diderotc-flags] [-- runtime-flags]"
18 : jhr 1538 exit $1
19 :     }
20 :    
21 :     # this script should be run from the rtest directory
22 :     #
23 :     HERE=$(pwd)
24 :     if [ ! -d $HERE/programs ] ; then
25 :     echo "run script from benchmarks directory"
26 :     exit 1
27 :     fi
28 : jhr 1575
29 :     # get the name of the benchmark, number of runs, and max number of processors
30 :     #
31 :     if (( $# >= 3 )) ; then
32 :     BMARK=$1; shift
33 :     NRUNS=$1; shift
34 :     MAXNP=$1; shift
35 :     if [ ! -d programs/$BMARK ] ; then
36 :     echo "$BMARK is not a valid benchmark name"
37 :     exit 1
38 :     fi
39 :     else
40 :     usage 1
41 :     fi
42 :    
43 :     # process the rest of the command-line arguments
44 :     #
45 :     DIDEROTC_FLAGS=""
46 :     RUNTIME_FLAGS=""
47 :     # get diderotc flags
48 :     while [ $# -ne 0 ] ; do
49 :     case $1 in
50 :     --) shift; break ;; # switch modes
51 :     -*) DIDEROTC_FLAGS="$DIDEROTC_FLAGS $1" ;;
52 :     *) echo "unrecognized argument"
53 :     usage 1
54 :     ;;
55 :     esac
56 :     shift
57 :     done
58 :     # get runtime flags
59 :     while [ $# -ne 0 ] ; do
60 :     case $1 in
61 :     -*) RUNTIME_FLAGS="$RUNTIME_FLAGS $1" ;;
62 :     *) echo "unrecognized argument"
63 :     usage 1
64 :     ;;
65 :     esac
66 :     shift
67 :     done
68 :    
69 : jhr 1576 HOSTNAME=$( hostname -s )
70 : jhr 1575 DATE=$( date +"%F-%H-%M-%S" )
71 :     LOG=$HERE/$BMARK-log.$DATE
72 :     REPORT=$HERE/$BMARK-report.$DATE
73 :    
74 :     # compile the benchmark
75 :     #
76 :     cd programs/$BMARK
77 :     if [ ! -f Makefile ] ; then
78 :     echo "no Makefile for $BMARK; run configure to generate"
79 :     exit 1
80 :     fi
81 :     echo "********** $BMARK **********" > $LOG
82 :     # clean an old executables
83 :     make clean 2>> $LOG 1>> $LOG
84 :     # rebuild using the given DIDEROTC_FLAGS
85 :     if [ x"$DIDEROTC_FLAGS" != x ] ; then
86 :     make DIDEROTC_FLAGS="\""$DIDEROTC_FLAGS"\"" 2>> $LOG 1>> $LOG
87 :     else
88 :     make 2>> $LOG 1>> $LOG
89 :     fi
90 :     if [ "$?" -eq "0" ] ; then
91 :     echo "# bmark: $BMARK" > $REPORT
92 : jhr 1576 echo "# host: $HOSTNAME" >> $REPORT
93 : jhr 1575 echo "# nruns: $NRUNS" >> $REPORT
94 :     echo "# nprocs: $MAXNP" >> $REPORT
95 :     echo "# date: $DATE" >> $REPORT
96 :     if [ x"$DIDEROTC_FLAGS" != x ] ; then
97 :     echo "# DIDEROTC_FLAGS: $DIDEROTC_FLAGS" >> $REPORT
98 :     fi
99 :     if [ x"$RUNTIME_FLAGS" != x ] ; then
100 :     echo "# RUNTIME_FLAGS: $RUNTIME_FLAGS" >> $REPORT
101 :     fi
102 :     echo "# $BMARK-teem:" >> $REPORT
103 :     print -n "bmark-teem "
104 :     for ((i=0; $i < $NRUNS; i++)) ; do
105 :     print -n "."
106 :     ./bmark-teem >> $REPORT
107 :     done
108 :     echo "# $BMARK-seq:" >> $REPORT
109 :     print -n "\nbmark-seq "
110 :     for ((i=0; $i < $NRUNS; i++)) ; do
111 :     print -n "."
112 :     ./bmark-seq -timing >> $REPORT
113 :     done
114 :     for ((np=1; $np <= $MAXNP; np++)) ; do
115 :     print -n "\nbmark-par-$np "
116 :     echo "# $BMARK-par-$np:" >> $REPORT
117 :     for ((i=0; $i < $NRUNS; i++)) ; do
118 :     print -n "."
119 :     ./bmark-par -timing -np $np >> $REPORT
120 :     done
121 :     done
122 :     print ""
123 :     else
124 :     echo "build failed" >> $REPORT
125 :     echo "build of $BMARK failed"
126 :     fi

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0