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 1657 - (view) (download)

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

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