blob: 169812cf8d0643c97c17e4d35c92befa93a04fdb [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 {
bart8a2cd9b2008-06-19 07:49:49 +000010 local tmp avg1 stddev1 avg2 stddev2 avg4 stddev4 p
bart8785c122008-05-29 08:34:27 +000011
12 tmp="/tmp/test-timing.$$"
bart334db5e2008-06-05 10:14:53 +000013 rm -f "${tmp}"
14
bart8a2cd9b2008-06-19 07:49:49 +000015 p=1
16 test_output="${1}.out" measure_runtime "$@" -p${psep}${p} "${test_args}" | avgstddev > "$tmp"
barta5a95dd2008-06-18 14:15:11 +000017 read avg1 stddev1 vsz1 vszdev1 < "$tmp"
18 echo "Average time: ${avg1} +/- ${stddev1} seconds." \
19 " VSZ: ${vsz1} +/- ${vszdev1} KB"
bart8785c122008-05-29 08:34:27 +000020
bart8a2cd9b2008-06-19 07:49:49 +000021 p=2
22 test_output="${1}.out" measure_runtime "$@" -p${psep}${p} "${test_args}" | avgstddev > "$tmp"
barta5a95dd2008-06-18 14:15:11 +000023 read avg2 stddev2 vsz2 vszdev2 < "$tmp"
24 echo "Average time: ${avg2} +/- ${stddev2} seconds." \
25 " VSZ: ${vsz2} +/- ${vszdev2} KB"
bart0d4e5c22008-06-07 10:42:52 +000026
bart8a2cd9b2008-06-19 07:49:49 +000027 p=4
28 test_output="${1}.out" measure_runtime "$@" -p${psep}${p} "${test_args}" | avgstddev > "$tmp"
barta5a95dd2008-06-18 14:15:11 +000029 read avg4 stddev4 vsz4 vszdev4 < "$tmp"
30 echo "Average time: ${avg4} +/- ${stddev4} seconds." \
31 " VSZ: ${vsz4} +/- ${vszdev4} KB"
bartd1763bc2008-06-08 14:44:41 +000032
bart8a2cd9b2008-06-19 07:49:49 +000033 p=1
bartf16de382008-06-18 08:47:06 +000034 test_output="/dev/null" \
bart8a2cd9b2008-06-19 07:49:49 +000035 print_runtime_ratio ${avg1} ${stddev1} ${vsz1} ${vszdev1} $VG --tool=none "$@" -p${psep}${p} "${test_args}"
bartf16de382008-06-18 08:47:06 +000036
bart8a2cd9b2008-06-19 07:49:49 +000037 p=4
bartf16de382008-06-18 08:47:06 +000038 test_output="/dev/null" \
bart8a2cd9b2008-06-19 07:49:49 +000039 print_runtime_ratio ${avg4} ${stddev4} ${vsz4} ${vszdev4} $VG --tool=none "$@" -p${psep}${p} "${test_args}"
barta9952832008-06-17 14:20:26 +000040
bart8a2cd9b2008-06-19 07:49:49 +000041 p=4
42 test_output="${1}-drd-with-stack-var-4.out" \
barta5a95dd2008-06-18 14:15:11 +000043 print_runtime_ratio ${avg4} ${stddev4} ${vsz4} ${vszdev4} \
bartef1b9722008-07-04 15:34:23 +000044 $VG --tool=drd --check-stack-var=yes "$@" -p${psep}${p} "${test_args}"
bartcf801352008-06-15 09:13:28 +000045
bart8a2cd9b2008-06-19 07:49:49 +000046 p=4
47 test_output="${1}-drd-without-stack-var-4.out" \
barta5a95dd2008-06-18 14:15:11 +000048 print_runtime_ratio ${avg4} ${stddev4} ${vsz4} ${vszdev4} \
bartef1b9722008-07-04 15:34:23 +000049 $VG --tool=drd --check-stack-var=no "$@" -p${psep}${p} "${test_args}"
bartcf801352008-06-15 09:13:28 +000050
bart8a2cd9b2008-06-19 07:49:49 +000051 p=4
52 test_output="${1}-helgrind-4.out" \
53 print_runtime_ratio ${avg4} ${stddev4} ${vsz4} ${vszdev4} $VG --tool=helgrind "$@" -p${psep}${p} "${test_args}"
bart8785c122008-05-29 08:34:27 +000054
55 echo ''
56
57 rm -f "$tmp"
58}
59
60
bart9cdd1782008-06-08 11:22:23 +000061########################
62# Script body #
63########################
bart8785c122008-05-29 08:34:27 +000064
bart32811502008-06-03 15:12:59 +000065DRD_SCRIPTS_DIR="$(dirname $0)"
bart7acf3802008-06-06 10:17:26 +000066if [ "${DRD_SCRIPTS_DIR:0:1}" != "/" ]; then
67 DRD_SCRIPTS_DIR="$PWD/$DRD_SCRIPTS_DIR"
bart32811502008-06-03 15:12:59 +000068fi
69
70SPLASH2="${DRD_SCRIPTS_DIR}/../splash2"
bartc4a174f2008-06-03 11:41:19 +000071if [ ! -e "${SPLASH2}" ]; then
72 echo "Error: splash2 directory not found (${SPLASH2})."
bart8785c122008-05-29 08:34:27 +000073 exit 1
74fi
75
76if [ "$VG" = "" ]; then
bart32811502008-06-03 15:12:59 +000077 VG="${DRD_SCRIPTS_DIR}/../../vg-in-place"
bart8785c122008-05-29 08:34:27 +000078fi
79
80if [ ! -e "$VG" ]; then
81 echo "Could not find $VG."
82 exit 1
83fi
84
bartee17ad62008-06-18 13:31:05 +000085######################################################################################################################
barta5a95dd2008-06-18 14:15:11 +000086# Meaning of the different colums:
87# 1. SPLASH2 test name.
88# 2. Execution time in seconds for native run with argument -p1.
89# 3. Virtual memory size in KB for the native run with argument -p1.
90# 4. Execution time in seconds for native run with argument -p2.
91# 5. Virtual memory size in KB for the native run with argument -p2.
92# 6. Execution time in seconds for native run with argument -p4.
93# 7. Virtual memory size in KB for the native run with argument -p4.
94# 8. Execution time ratio for --tool=none -p1 versus -p1.
95# 9. Virtual memory size ratio for --tool=none -p1 versus -p1.
96# 10. Execution time ratio for --tool=none -p4 versus -p4.
97# 11. Virtual memory size ratio for --tool=none -p4 versus -p4.
bartef1b9722008-07-04 15:34:23 +000098# 12. Execution time ratio for --tool=drd --check-stack-var=yes -p4 versus -p4.
99# 13. Virtual memory size ratio for --tool=drd --check-stack-var=yes -p4 versus -p4.
100# 14. Execution time ratio for --tool=drd --check-stack-var=no -p4 versus -p4.
101# 15. Virtual memory size ratio for --tool=drd --check-stack-var=no -p4 versus -p4.
barta5a95dd2008-06-18 14:15:11 +0000102# 16. Execution time ratio for --tool=helgrind -p4 versus -p4.
103# 17. Virtual memory size ratio for --tool=helgrind -p4 versus -p4.
104# 18. Execution time ratio for Intel Thread Checker -p4 versus -p4.
105# 19. Execution time ratio for Intel Thread Checker -p4 versus -p4.
106#
bart8a2cd9b2008-06-19 07:49:49 +0000107# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
barta5a95dd2008-06-18 14:15:11 +0000108#########################################################################################################################
bart8a2cd9b2008-06-19 07:49:49 +0000109# Results: native native native none none DRD DRD HG ITC ITC
110# -p1 -p2 -p4 -p1 -p4 -p4 -p4+f -p4 -p4 -p4+f
barta5a95dd2008-06-18 14:15:11 +0000111# .......................................................................................................................
bart8c066052008-06-20 12:37:41 +0000112# Cholesky 0.37 45867 0.25 55965 0.20 74944 8.8 2.08 28.9 1.66 171 1.96 114 2.85 54 3.13 239 82
bart3f56f872008-06-20 07:52:28 +0000113# FFT 0.20 23976 0.13 54026 0.09 114112 8.2 3.02 18.4 0.85 130 1.20 85 1.27 416 1.65 90 41
114# LU, contiguous 0.95 16784 0.64 24984 0.43 41392 8.0 3.88 19.3 2.17 120 2.84 113 3.04 223 4.36 428 128
115# LU, non-contiguous 1.06 16792 0.67 24984 0.40 41376 7.5 3.88 20.0 2.17 210 3.04 190 3.24 166 4.26 428 128
116# Ocean, contiguous 24.25 918016 14.57 927732 9.09 945664 2.4 1.05 6.6 1.05 89 1.92 77 1.93 149 1.88 90 28
117# Ocean, non-contiguous 0.36 32120 0.18 40320 0.16 56728 4.2 2.51 10.4 1.86 58 2.27 71 2.43 127 3.54 90 28
118# Radiosity 4.73 56120 .... ..... .... ..... 16.6 1.86 .... .... ... .... .. .... .. .... 485 163
119# Radix 4.98 279744 2.55 287936 1.36 304448 6.1 1.17 22.4 1.16 57 1.90 52 1.92 208 2.09 222 56
bart8c066052008-06-20 12:37:41 +0000120# Raytrace 2.76 320526 1.44 328448 0.77 344832 8.3 1.15 28.6 1.14 2324 1.31 326 1.34 420 0.60 172 53
bart3f56f872008-06-20 07:52:28 +0000121# Water-n2 0.19 17304 0.12 33680 0.12 66432 12.0 3.85 20.2 3.53 2789 2.78 562 2.84 121 3.32 189 39
122# Water-sp 0.21 10976 0.11 19176 0.07 35568 11.0 5.41 33.3 2.37 475 2.85 147 3.08 196 4.61 183 34
barta5a95dd2008-06-18 14:15:11 +0000123# .......................................................................................................................
bartee17ad62008-06-18 13:31:05 +0000124# Hardware: Two quad-core Intel Xeon L5130, 1.6 GHz, 4 MB L2 cache, 16 GB RAM.
125# Software: Ubuntu 8.04 server, 64-bit, gcc 4.3.1.
barta5a95dd2008-06-18 14:15:11 +0000126#########################################################################################################################
bart8a2cd9b2008-06-19 07:49:49 +0000127# Results: native native native none none DRD DRD HG ITC ITC
128# -p1 -p2 -p4 -p1 -p4 -p4 -p4+f -p4 -p4 -p4+f
barta5a95dd2008-06-18 14:15:11 +0000129# .......................................................................................................................
bart3f56f872008-06-20 07:52:28 +0000130# Cholesky 0.29 45835 0.21 55933 4.51 74944 8.8 2.21 1.0 1.75 6 2.05 4 2.16 2 3.22 239 82
131# FFT 0.17 23949 0.12 32144 0.11 48536 7.8 3.28 12.0 2.13 85 2.96 56 3.13 282 4.02 90 41
132# LU, contiguous 0.78 16752 0.53 24957 0.53 41365 7.9 4.27 11.7 2.33 78 3.00 74 3.20 146 4.51 428 128
133# LU, non-contiguous 0.86 16760 0.47 24957 0.50 41352 7.0 4.26 12.2 2.33 135 3.20 125 3.40 107 4.41 428 128
134# Ocean, contiguous 19.47 918016 12.59 927232 12.61 945664 2.4 1.06 3.8 1.06 53 1.92 47 1.93 86 1.88 90 28
135# Ocean, non-contiguous 0.31 32088 0.17 40291 0.19 56696 3.9 2.71 6.8 1.97 38 2.38 47 2.55 84 3.66 90 28
136# Radiosity 3.85 56088 .... ..... .... ..... 16.4 1.98 .... .... ... .... .. .... .. .... 485 163
137# Radix 4.05 279680 2.12 287872 2.14 304405 6.0 1.20 11.4 1.18 29 1.92 27 1.94 157 2.12 222 56
138# Raytrace 2.22 320192 .... ..... 2.20 ...... 7.4 1.17 ... .... ... .... .. .... .. .... 172 53
139# Water-n2 0.15 17272 0.10 33651 0.11 66432 12.3 4.22 17.5 1.84 2320 2.90 583 2.92 105 3.41 189 39
140# Water-sp 0.16 10947 0.09 19144 0.09 35536 11.4 6.00 20.7 2.55 251 3.03 91 3.26 123 4.79 183 34
barta5a95dd2008-06-18 14:15:11 +0000141# .......................................................................................................................
bartb08ca702008-06-12 13:50:40 +0000142# Hardware: dual-core Intel Xeon 5130, 2.0 GHz, 4 MB L2 cache, 4 GB RAM.
143# Software: Ubuntu 7.10 server, 64-bit, gcc 4.3.1, xload -update 1 running.
barta5a95dd2008-06-18 14:15:11 +0000144#########################################################################################################################
bart8a2cd9b2008-06-19 07:49:49 +0000145# Results: native native native none none DRD DRD HG ITC ITC
barta5a95dd2008-06-18 14:15:11 +0000146# -p1 -p2 -p4 -p1 -p4 -p4 -p4+f -p4 -p4 -p4+f
147# .......................................................................................................................
bartfa1b2932008-06-22 13:05:00 +0000148# Cholesky 0.21 45672 0.15 55765 1.02 140203 9.05 2.31 4.5 0.96 20 1.12 15 1.18 7 1.76 239 82
149# FFT 0.11 23776 0.07 75683 0.07 113920 8.36 3.48 13.1 0.94 86 1.30 64 1.37 371 1.75 90 41
150# LU, contiguous 0.58 16584 0.38 24784 0.36 41192 7.72 4.56 12.7 2.44 81 3.11 80 3.31 163 4.63 428 128
151# LU, non-contiguous 0.64 16592 0.34 24784 0.36 41176 7.59 4.55 12.7 2.44 134 3.31 124 3.51 111 4.53 428 128
152# Ocean, contiguous 14.37 917504 9.60 927232 9.61 945664 2.38 1.06 3.6 1.06 61 1.93 47 1.94 89 1.89 90 28
153# Ocean, non-contiguous 0.20 31944 0.12 40144 0.14 56552 4.40 2.85 6.7 2.05 37 2.48 45 2.63 84 3.74 90 28
bart8a2cd9b2008-06-19 07:49:49 +0000154# Radiosity 2.33 ..... 2.32 ..... 2.33 ..... .... .... .... .... 175 .... 61 .... 60 .... 485 163
bartfa1b2932008-06-22 13:05:00 +0000155# Radix 2.80 279488 1.46 287744 1.47 304256 6.17 1.21 11.8 1.19 30 1.93 28 1.96 212 2.13 222 56
156# Raytrace 1.68 320064 0.87 328256 0.87 388330 7.29 1.18 14.9 1.04 1290 1.19 169 1.21 219 1.86 172 53
157# Water-n2 0.16 17104 0.07 33480 0.08 66240 8.62 4.50 17.8 1.91 1869 2.94 449 3.01 106 3.48 189 39
158# Water-sp 0.13 10784 0.07 84352 0.06 144448 10.1 6.47 22.5 0.65 258 0.77 91 0.83 129 1.21 183 34
barta5a95dd2008-06-18 14:15:11 +0000159# .......................................................................................................................
bartcf801352008-06-15 09:13:28 +0000160# Hardware: dual-core Intel Core2 Duo E6750, 2.66 GHz, 4 MB L2 cache, 2 GB RAM.
bartfa1b2932008-06-22 13:05:00 +0000161# Software: openSUSE 11.0, 64-bit, gcc 4.3.1, runlevel 3.
barta5a95dd2008-06-18 14:15:11 +0000162#########################################################################################################################
bart8785c122008-05-29 08:34:27 +0000163
bart66bb75c2008-06-17 06:19:29 +0000164cache_size=$(get_cache_size)
bart32811502008-06-03 15:12:59 +0000165log2_cache_size=$(log2 ${cache_size})
166
167# Cholesky
bart32811502008-06-03 15:12:59 +0000168(
bart868d73a2008-06-04 13:02:22 +0000169 cd ${SPLASH2}/codes/kernels/cholesky/inputs
170 for f in *Z
171 do
172 gzip -cd <$f >${f%.Z}
173 done
bart8a2cd9b2008-06-19 07:49:49 +0000174 test_args=tk29.O run_test ../CHOLESKY -C$((cache_size))
bart32811502008-06-03 15:12:59 +0000175)
bart32811502008-06-03 15:12:59 +0000176
177# FFT
barte726e8b2008-06-19 16:14:30 +0000178run_test ${SPLASH2}/codes/kernels/fft/FFT -t -l$((log2_cache_size/2)) -m18
bart32811502008-06-03 15:12:59 +0000179
180# LU, contiguous blocks.
bartc4a174f2008-06-03 11:41:19 +0000181run_test ${SPLASH2}/codes/kernels/lu/contiguous_blocks/LU -n1024
bart8785c122008-05-29 08:34:27 +0000182
bart32811502008-06-03 15:12:59 +0000183# LU, non-contiguous blocks.
bartc4a174f2008-06-03 11:41:19 +0000184run_test ${SPLASH2}/codes/kernels/lu/non_contiguous_blocks/LU -n1024
bart8785c122008-05-29 08:34:27 +0000185
bart868d73a2008-06-04 13:02:22 +0000186# Ocean
187run_test ${SPLASH2}/codes/apps/ocean/contiguous_partitions/OCEAN -n2050
188run_test ${SPLASH2}/codes/apps/ocean/non_contiguous_partitions/OCEAN -n258
189
bart32811502008-06-03 15:12:59 +0000190# Radiosity.
bart3f56f872008-06-20 07:52:28 +0000191if false; then
192psep=' ' run_test ${SPLASH2}/codes/apps/radiosity/RADIOSITY -batch -room
193fi
bartc4a174f2008-06-03 11:41:19 +0000194
bart868d73a2008-06-04 13:02:22 +0000195# Radix
bart8a2cd9b2008-06-19 07:49:49 +0000196run_test ${SPLASH2}/codes/kernels/radix/RADIX -n $((2**24))
bart868d73a2008-06-04 13:02:22 +0000197
198# Raytrace
199(
200 cd ${SPLASH2}/codes/apps/raytrace/inputs
201 rm -f *.env *.geo *.rl
202 for f in *Z
203 do
204 gzip -cd <$f >${f%.Z}
205 done
bart8a2cd9b2008-06-19 07:49:49 +0000206 test_args=balls4.env psep=' ' run_test ../RAYTRACE
bart868d73a2008-06-04 13:02:22 +0000207)
bart334db5e2008-06-05 10:14:53 +0000208
bart868d73a2008-06-04 13:02:22 +0000209# Water-n2
bart334db5e2008-06-05 10:14:53 +0000210(
211 cd ${SPLASH2}/codes/apps/water-nsquared
bart8a2cd9b2008-06-19 07:49:49 +0000212 test_input=${DRD_SCRIPTS_DIR}/run-splash2-water-input psep=' ' run_test ./WATER-NSQUARED
bart334db5e2008-06-05 10:14:53 +0000213)
bart868d73a2008-06-04 13:02:22 +0000214
215# Water-sp
bart334db5e2008-06-05 10:14:53 +0000216(
217 cd ${SPLASH2}/codes/apps/water-spatial
bart8a2cd9b2008-06-19 07:49:49 +0000218 test_input=${DRD_SCRIPTS_DIR}/run-splash2-water-input psep=' ' run_test ./WATER-SPATIAL
bart334db5e2008-06-05 10:14:53 +0000219)
bart868d73a2008-06-04 13:02:22 +0000220
221
bartc4a174f2008-06-03 11:41:19 +0000222
223# Local variables:
224# compile-command: "./run-splash2"
225# End: