blob: 8bc406232fbe715e25e8704fab9c378aab1e596f [file] [log] [blame]
bart8785c122008-05-29 08:34:27 +00001#!/bin/bash
2
3########################
4# Function definitions #
5########################
6
bartf33ce892008-06-07 11:40:14 +00007source "$(dirname $0)/measurement-functions"
bart8785c122008-05-29 08:34:27 +00008
9function run_test {
bartee17ad62008-06-18 13:31:05 +000010 local tmp avg1 stddev1 avg2 stddev2 avg4 stddev4
bart8785c122008-05-29 08:34:27 +000011
12 tmp="/tmp/test-timing.$$"
bart334db5e2008-06-05 10:14:53 +000013 rm -f "${tmp}"
14
bartcf801352008-06-15 09:13:28 +000015 test_output="${1}.out" measure_runtime "$@" -p1 | avgstddev > "$tmp"
bart8785c122008-05-29 08:34:27 +000016 read avg1 stddev1 < "$tmp"
17 echo "Average time: ${avg1} +/- ${stddev1} seconds"
18
bartcf801352008-06-15 09:13:28 +000019 test_output="${1}.out" measure_runtime "$@" -p2 | avgstddev > "$tmp"
bartf16de382008-06-18 08:47:06 +000020 read avg2 stddev2 < "$tmp"
21 echo "Average time: ${avg2} +/- ${stddev2} seconds"
bart0d4e5c22008-06-07 10:42:52 +000022
bartcf801352008-06-15 09:13:28 +000023 test_output="${1}.out" measure_runtime "$@" -p4 | avgstddev > "$tmp"
bartf16de382008-06-18 08:47:06 +000024 read avg4 stddev4 < "$tmp"
25 echo "Average time: ${avg4} +/- ${stddev4} seconds"
bartd1763bc2008-06-08 14:44:41 +000026
bartf16de382008-06-18 08:47:06 +000027 test_output="/dev/null" \
28 print_runtime_ratio ${avg1} ${stddev1} $VG --tool=none "$@" -p1
29
30 test_output="/dev/null" \
31 print_runtime_ratio ${avg4} ${stddev4} $VG --tool=none "$@" -p4
barta9952832008-06-17 14:20:26 +000032
bartcf801352008-06-15 09:13:28 +000033 test_output="${1}-drd-with-stack-var-${p}.out" \
bartf16de382008-06-18 08:47:06 +000034 print_runtime_ratio ${avg4} ${stddev4} \
bartee17ad62008-06-18 13:31:05 +000035 $VG --tool=exp-drd --check-stack-var=yes "$@" -p4
bartcf801352008-06-15 09:13:28 +000036
37 test_output="${1}-drd-without-stack-var-${p}.out" \
bartf16de382008-06-18 08:47:06 +000038 print_runtime_ratio ${avg4} ${stddev4} \
bartee17ad62008-06-18 13:31:05 +000039 $VG --tool=exp-drd --check-stack-var=no "$@" -p4
bartcf801352008-06-15 09:13:28 +000040
41 test_output="${1}-helgrind-${p}.out" \
bartee17ad62008-06-18 13:31:05 +000042 print_runtime_ratio ${avg4} ${stddev4} $VG --tool=helgrind "$@" -p4
bart8785c122008-05-29 08:34:27 +000043
44 echo ''
45
46 rm -f "$tmp"
47}
48
49
bart9cdd1782008-06-08 11:22:23 +000050########################
51# Script body #
52########################
bart8785c122008-05-29 08:34:27 +000053
bart32811502008-06-03 15:12:59 +000054DRD_SCRIPTS_DIR="$(dirname $0)"
bart7acf3802008-06-06 10:17:26 +000055if [ "${DRD_SCRIPTS_DIR:0:1}" != "/" ]; then
56 DRD_SCRIPTS_DIR="$PWD/$DRD_SCRIPTS_DIR"
bart32811502008-06-03 15:12:59 +000057fi
58
59SPLASH2="${DRD_SCRIPTS_DIR}/../splash2"
bartc4a174f2008-06-03 11:41:19 +000060if [ ! -e "${SPLASH2}" ]; then
61 echo "Error: splash2 directory not found (${SPLASH2})."
bart8785c122008-05-29 08:34:27 +000062 exit 1
63fi
64
65if [ "$VG" = "" ]; then
bart32811502008-06-03 15:12:59 +000066 VG="${DRD_SCRIPTS_DIR}/../../vg-in-place"
bart8785c122008-05-29 08:34:27 +000067fi
68
69if [ ! -e "$VG" ]; then
70 echo "Could not find $VG."
71 exit 1
72fi
73
bartee17ad62008-06-18 13:31:05 +000074######################################################################################################################
75# Results: native native native none none DRD DRD HG ITC ITC
76# -p1 -p2 -p4 -p1 -p4 -p4 -p4+f -p4 -p4 -p4+f
77# ....................................................................................................................
78# Cholesky 0.37 ..... 0.25 ..... 0.20 ..... 8.3 .... 17.3 .... 173 .... 118 .... 57 .... 239 82
79# FFT 0.23 ..... 0.14 ..... 0.10 ..... 7.5 .... 16.2 .... 119 .... 80 .... 2336 .... 90 41
80# LU, contiguous 0.95 ..... 0.64 ..... 0.43 ..... 7.9 .... 18.0 .... 119 .... 113 .... 223 .... 428 128
81# LU, non-contiguous 1.18 ..... 0.69 ..... 0.41 ..... 6.7 .... 19.5 .... 204 .... 187 .... 164 .... 428 128
82# Ocean, contiguous 24.53 ..... 13.97 ..... 9.28 ..... 2.4 .... 6.5 .... 89 .... 76 .... 147 .... 90 28
83# Ocean, non-contiguous 0.36 ..... 0.19 ..... 0.17 ..... 4.2 .... 10.0 .... 56 .... 68 .... 121 .... 90 28
84# Radiosity 4.77 ..... 4.77 ..... 4.75 ..... 16.6 .... 16.6 .... 116 .... .. .... .. .... 485 163
85# Radix .... ..... .... ..... .... ..... ... .... .... .... .. .... .. .... ... .... 222 56
86# Raytrace .... ..... .... ..... .... ..... ... .... ... .... ... .... .. .... .. .... 172 53
87# Water-n2 .... ..... .... ..... .... ..... .... .... .... .... ... .... .. .... .. .... 189 39
88# Water-sp .... ..... .... ..... .... ..... .... .... .... .... .. .... .. .... .. .... 183 34
89# ....................................................................................................................
90# Hardware: Two quad-core Intel Xeon L5130, 1.6 GHz, 4 MB L2 cache, 16 GB RAM.
91# Software: Ubuntu 8.04 server, 64-bit, gcc 4.3.1.
92######################################################################################################################
93# Results: native native native none none DRD DRD HG ITC ITC
94# -p1 -p2 -p4 -p1 -p4 -p4 -p4+f -p4 -p4 -p4+f
95# ....................................................................................................................
96# Cholesky 0.29 10968 0.21 63669 4.60 70621 8.6 2.21 1.0 1.75 5 2.05 4 2.16 2 3.22 239 82
97# FFT 0.19 ..... 0.12 ..... 0.12 ..... 7.0 1.01 11.3 1.01 87 1.02 59 1.02 .... .... 90 41
98# LU, contiguous 0.79 ..... 0.54 ..... 0.53 ..... 8.3 4.27 11.7 2.33 79 .... 75 .... 148 .... 428 128
99# LU, non-contiguous 0.86 ..... 0.47 ..... 0.49 ..... 7.5 .... 12.6 .... 136 .... 124 .... 109 .... 428 128
100# Ocean, contiguous 19.46 ..... 12.59 ..... 12.61 ..... 2.4 .... 3.7 .... 53 .... 47 .... 86 .... 90 28
101# Ocean, non-contiguous 0.30 ..... 0.19 ..... 0.19 ..... 4.0 .... 6.8 .... 38 .... 47 .... 84 .... 90 28
102# Radiosity 3.86 ..... 3.84 ..... 3.84 ..... 16.3 .... 16.4 .... ... .... .. .... .. .... 485 163
103# Radix 4.07 ..... 2.12 ..... 2.12 ..... 5.7 .... 10.9 .... .. .... .. .... ... .... 222 56
104# Raytrace 2.22 ..... 2.19 ..... 2.20 ..... 7.8 .... 7.9 .... ... .... .. .... .. .... 172 53
105# Water-n2 0.18 ..... 0.17 ..... 0.17 ..... 11.4 .... 11.5 .... ... .... .. .... .. .... 189 39
106# Water-sp 0.19 ..... 0.18 ..... 0.18 ..... 10.4 .... 10.2 .... .. .... .. .... .. .... 183 34
107# ....................................................................................................................
bartb08ca702008-06-12 13:50:40 +0000108# Hardware: dual-core Intel Xeon 5130, 2.0 GHz, 4 MB L2 cache, 4 GB RAM.
109# Software: Ubuntu 7.10 server, 64-bit, gcc 4.3.1, xload -update 1 running.
bartee17ad62008-06-18 13:31:05 +0000110######################################################################################################################
111# Results: native native native none none DRD DRD HG ITC ITC
112# -p1 -p2 -p4 -p1 -p4 -p4 -p4+f -p4 -p4 -p4+f
113# ....................................................................................................................
114# Cholesky 0.21 ..... 0.14 ..... 4.49 ..... .... .... .... .... 4 .... 3 .... 2 .... 239 82
115# FFT 0.11 ..... 0.08 ..... 0.07 ..... .... .... .... .... 138 .... 66 .... 380 .... 90 41
116# LU, contiguous 0.56 ..... 0.34 ..... 0.34 ..... .... .... .... .... 72 .... 68 .... 96 .... 428 128
117# LU, non-contiguous 0.59 ..... 0.32 ..... 0.35 ..... .... .... .... .... 92 .... 109 .... 60 .... 428 128
118# Ocean, contiguous 14.30 ..... 9.54 ..... 9.56 ..... .... .... .... .... 61 .... 48 .... 89 .... 90 28
119# Ocean, non-contiguous 0.20 ..... 0.12 ..... 0.12 ..... .... .... .... .... 45 .... 51 .... 93 .... 90 28
120# Radiosity 2.33 ..... 2.32 ..... 2.33 ..... .... .... .... .... 175 .... 61 .... 60 .... 485 163
121# Radix 2.81 ..... 1.45 ..... 1.46 ..... .... .... .... .... 32 .... 29 .... 153 .... 222 56
122# Raytrace 1.65 ..... 1.64 ..... 1.64 ..... .... .... .... .... 230 .... 55 .... 89 .... 172 53
123# Water-n2 0.14 ..... 0.12 ..... 0.12 ..... .... .... .... .... 129 .... 35 .... 55 .... 189 39
124# Water-sp 0.14 ..... 0.12 ..... 0.12 ..... .... .... .... .... 121 .... 36 .... 54 .... 183 34
125# ....................................................................................................................
bartcf801352008-06-15 09:13:28 +0000126# Hardware: dual-core Intel Core2 Duo E6750, 2.66 GHz, 4 MB L2 cache, 2 GB RAM.
127# Software: openSUSE 10.3, 64-bit, gcc 4.3.1, runlevel 5, X screensaver: blank
bartee17ad62008-06-18 13:31:05 +0000128######################################################################################################################
bart8785c122008-05-29 08:34:27 +0000129
bart66bb75c2008-06-17 06:19:29 +0000130cache_size=$(get_cache_size)
bart32811502008-06-03 15:12:59 +0000131log2_cache_size=$(log2 ${cache_size})
132
133# Cholesky
bart32811502008-06-03 15:12:59 +0000134(
bart868d73a2008-06-04 13:02:22 +0000135 cd ${SPLASH2}/codes/kernels/cholesky/inputs
136 for f in *Z
137 do
138 gzip -cd <$f >${f%.Z}
139 done
barta9952832008-06-17 14:20:26 +0000140 run_test ../CHOLESKY -C$((cache_size)) tk29.O
bart32811502008-06-03 15:12:59 +0000141)
bart32811502008-06-03 15:12:59 +0000142
143# FFT
barta9952832008-06-17 14:20:26 +0000144run_test ${SPLASH2}/codes/kernels/fft/FFT -t -l$((log2_cache_size)) -m18
bart32811502008-06-03 15:12:59 +0000145
146# LU, contiguous blocks.
bartc4a174f2008-06-03 11:41:19 +0000147run_test ${SPLASH2}/codes/kernels/lu/contiguous_blocks/LU -n1024
bart8785c122008-05-29 08:34:27 +0000148
bart32811502008-06-03 15:12:59 +0000149# LU, non-contiguous blocks.
bartc4a174f2008-06-03 11:41:19 +0000150run_test ${SPLASH2}/codes/kernels/lu/non_contiguous_blocks/LU -n1024
bart8785c122008-05-29 08:34:27 +0000151
bart868d73a2008-06-04 13:02:22 +0000152# Ocean
153run_test ${SPLASH2}/codes/apps/ocean/contiguous_partitions/OCEAN -n2050
154run_test ${SPLASH2}/codes/apps/ocean/non_contiguous_partitions/OCEAN -n258
155
bart32811502008-06-03 15:12:59 +0000156# Radiosity.
bartc4a174f2008-06-03 11:41:19 +0000157run_test ${SPLASH2}/codes/apps/radiosity/RADIOSITY -batch -room
158
bart868d73a2008-06-04 13:02:22 +0000159# Radix
160run_test ${SPLASH2}/codes/kernels/radix/RADIX -n$((2**24))
161
162# Raytrace
163(
164 cd ${SPLASH2}/codes/apps/raytrace/inputs
165 rm -f *.env *.geo *.rl
166 for f in *Z
167 do
168 gzip -cd <$f >${f%.Z}
169 done
170 run_test ../RAYTRACE balls4.env
171)
bart334db5e2008-06-05 10:14:53 +0000172
bart868d73a2008-06-04 13:02:22 +0000173# Water-n2
bart334db5e2008-06-05 10:14:53 +0000174(
175 cd ${SPLASH2}/codes/apps/water-nsquared
176 test_input=input run_test ./WATER-NSQUARED
177)
bart868d73a2008-06-04 13:02:22 +0000178
179# Water-sp
bart334db5e2008-06-05 10:14:53 +0000180(
181 cd ${SPLASH2}/codes/apps/water-spatial
182 test_input=input run_test ./WATER-SPATIAL
183)
bart868d73a2008-06-04 13:02:22 +0000184
185
bartc4a174f2008-06-03 11:41:19 +0000186
187# Local variables:
188# compile-command: "./run-splash2"
189# End: