1436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#!/bin/bash 2436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 3436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov######################## 4436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Function definitions # 5436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov######################## 6436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 7436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovsource "$(dirname $0)/measurement-functions" 8436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 9436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovfunction run_test { 10436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov local tmp avg1 stddev1 avg2 stddev2 avg4 stddev4 p 11436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 12436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov tmp="/tmp/test-timing.$$" 13436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 14436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov rm -f "${tmp}" 15436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov p=1 16436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov test_output="${1}-p${p}.out" measure_runtime "$@" -p${psep}${p} "${test_args}" | avgstddev > "$tmp" 17436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov read avg1 stddev1 vsz1 vszdev1 rest < "$tmp" 18436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov echo "Average time: ${avg1} +/- ${stddev1} seconds." \ 19436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov " VSZ: ${vsz1} +/- ${vszdev1} KB" 20436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 21436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov if [ "${rest}" != "" ]; then 22436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov echo "Internal error ($rest)" 23436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov exit 1 24436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov fi 25436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 26436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov rm -f "${tmp}" 27436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov p=2 28436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov test_output="${1}-p${p}.out" measure_runtime "$@" -p${psep}${p} "${test_args}" | avgstddev > "$tmp" 29436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov read avg2 stddev2 vsz2 vszdev2 rest < "$tmp" 30436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov echo "Average time: ${avg2} +/- ${stddev2} seconds." \ 31436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov " VSZ: ${vsz2} +/- ${vszdev2} KB" 32436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 33436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov if [ "${rest}" != "" ]; then 34436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov echo "Internal error ($rest)" 35436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov exit 1 36436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov fi 37436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 38436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov rm -f "${tmp}" 39436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov p=4 40436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov test_output="${1}-p${p}.out" measure_runtime "$@" -p${psep}${p} "${test_args}" | avgstddev > "$tmp" 41436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov read avg4 stddev4 vsz4 vszdev4 rest < "$tmp" 42436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov echo "Average time: ${avg4} +/- ${stddev4} seconds." \ 43436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov " VSZ: ${vsz4} +/- ${vszdev4} KB" 44436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov rm -f "$tmp" 45436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 46436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov if [ "${rest}" != "" ]; then 47436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov echo "Internal error ($rest)" 48436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov exit 1 49436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov fi 50436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 51436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov p=1 52436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov test_output="/dev/null" \ 53436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov print_runtime_ratio "${avg1}" "${stddev1}" "${vsz1}" "${vszdev1}" "$VG" --tool=none "$@" -p${psep}${p} "${test_args}" 54436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 55436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov p=4 56436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov test_output="/dev/null" \ 57436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov print_runtime_ratio "${avg4}" "${stddev4}" "${vsz4}" "${vszdev4}" "$VG" --tool=none "$@" -p${psep}${p} "${test_args}" 58436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 59436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov p=4 60436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov test_output="${1}-drd-with-stack-var-4.out" \ 61436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov print_runtime_ratio "${avg4}" "${stddev4}" "${vsz4}" "${vszdev4}" \ 62436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov "$VG" --tool=drd --first-race-only=yes --check-stack-var=yes \ 63436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov --drd-stats=yes "$@" -p${psep}${p} "${test_args}" 64436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 65436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov p=4 66436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov test_output="${1}-drd-without-stack-var-4.out" \ 67436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov print_runtime_ratio "${avg4}" "${stddev4}" "${vsz4}" "${vszdev4}" \ 68436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov "$VG" --tool=drd --first-race-only=yes --check-stack-var=no \ 69436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov --drd-stats=yes "$@" -p${psep}${p} "${test_args}" 70436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 71436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov p=4 72436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov test_output="${1}-helgrind-4-none.out" \ 73436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov print_runtime_ratio "${avg4}" "${stddev4}" "${vsz4}" "${vszdev4}" "$VG" --tool=helgrind --history-level=none "$@" -p${psep}${p} "${test_args}" 74436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 75436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov p=4 76436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov test_output="${1}-helgrind-4-approx.out" \ 77436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov print_runtime_ratio "${avg4}" "${stddev4}" "${vsz4}" "${vszdev4}" "$VG" --tool=helgrind --history-level=approx "$@" -p${psep}${p} "${test_args}" 78436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 79436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov p=4 80436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov test_output="${1}-helgrind-4-full.out" \ 81436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov print_runtime_ratio "${avg4}" "${stddev4}" "${vsz4}" "${vszdev4}" "$VG" --tool=helgrind --history-level=full "$@" -p${psep}${p} "${test_args}" 82436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 83436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov echo '' 84436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov} 85436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 86436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 87436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov######################## 88436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Script body # 89436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov######################## 90436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 91436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy IvanovDRD_SCRIPTS_DIR="$(dirname $0)" 92436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovif [ "${DRD_SCRIPTS_DIR:0:1}" != "/" ]; then 93436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov DRD_SCRIPTS_DIR="$PWD/$DRD_SCRIPTS_DIR" 94436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovfi 95436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 96436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy IvanovSPLASH2="${DRD_SCRIPTS_DIR}/../splash2" 97436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovif [ ! -e "${SPLASH2}" ]; then 98436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov echo "Error: splash2 directory not found (${SPLASH2})." 99436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov exit 1 100436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovfi 101436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 102436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovif [ "$VG" = "" ]; then 103436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov VG="${DRD_SCRIPTS_DIR}/../../vg-in-place" 104436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovfi 105436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 106436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovif [ ! -e "$VG" ]; then 107436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov echo "Could not find $VG." 108436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov exit 1 109436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovfi 110436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 111436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov###################################################################################################################### 112436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Meaning of the different colums: 113436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 1. SPLASH2 test name. 114436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 2. Execution time in seconds for native run with argument -p1. 115436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 3. Virtual memory size in KB for the native run with argument -p1. 116436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 4. Execution time in seconds for native run with argument -p2. 117436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 5. Virtual memory size in KB for the native run with argument -p2. 118436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 6. Execution time in seconds for native run with argument -p4. 119436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 7. Virtual memory size in KB for the native run with argument -p4. 120436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 8. Execution time ratio for --tool=none -p1 versus -p1. 121436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 9. Virtual memory size ratio for --tool=none -p1 versus -p1. 122436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 10. Execution time ratio for --tool=none -p4 versus -p4. 123436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 11. Virtual memory size ratio for --tool=none -p4 versus -p4. 124436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 12. Execution time ratio for --tool=drd --check-stack-var=yes -p4 versus -p4. 125436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 13. Virtual memory size ratio for --tool=drd --check-stack-var=yes -p4 versus -p4. 126436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 14. Execution time ratio for --tool=drd --check-stack-var=no -p4 versus -p4. 127436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 15. Virtual memory size ratio for --tool=drd --check-stack-var=no -p4 versus -p4. 128436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 16. Execution time ratio for --tool=helgrind --history-level=none -p4 versus -p4. 129436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 17. Virtual memory size ratio for --tool=helgrind --history-level=none -p4 versus -p4. 130436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 18. Execution time ratio for --tool=helgrind --history-level=approx -p4 versus -p4. 131436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 19. Virtual memory size ratio for --tool=helgrind --history-level=approx -p4 versus -p4. 132436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 20. Execution time ratio for --tool=helgrind --history-level=full -p4 versus -p4. 133436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 21. Virtual memory size ratio for --tool=helgrind --history-level=full -p4 versus -p4. 134436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 22. Execution time ratio for Intel Thread Checker -p4 versus -p4. 135436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 23. Execution time ratio for Intel Thread Checker -p4 versus -p4. 136436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 137436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Notes: 138436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# - Both Helgrind and DRD use a granularity of one byte for data race detection. 139436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# - Helgrind does detect data races on stack variables. DRD only detects 140436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# data races on stack variables with --check-stack-var=yes. 141436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# - The ITC tests have been run on a 4-way 2.5 GHz Pentium 4 workstation, most 142436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# likely running a 32-bit OS. Not yet clear to me: which OS ? Which 143436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# granularity does ITC use ? And which m4 macro's have been used by ITC as 144436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# implementation of the synchronization primitives ? 145436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 146436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 147436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov################################################################################################################################################ 148436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Results: native native native none none DRD DRD HG HG HG ITC ITC 149436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# -p1 -p2 -p4 -p1 -p4 -p4 -p4+f -p4 -p4 -p4 -p4 -p4+f 150436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# .............................................................................................................................................. 151436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Cholesky 0.11 12016 0.06 22016 0.55 41328 10.3 4.92 1.7 2.14 15 2.61 8 2.61 10 3.96 10 3.96 15 6.14 239 82 152436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# FFT 0.02 6692 0.02 14888 0.02 31621 17.0 8.01 20.0 2.48 114 3.15 64 3.28 81 4.52 81 4.52 116 5.56 90 41 153436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# LU, contiguous 0.08 4100 0.05 12304 0.06 28712 11.1 12.44 18.5 2.64 104 3.18 70 3.18 87 4.84 89 4.84 118 5.55 428 128 154436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Ocean, contiguous 0.23 16848 0.19 25384 0.23 42528 6.3 3.78 8.3 2.11 87 2.82 62 4.02 71 3.75 71 3.75 195 5.96 90 28 155436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Radix 0.21 15136 0.14 23336 0.15 39728 12.6 4.10 22.3 2.19 61 2.87 41 2.94 52 4.03 52 4.03 85 6.13 222 56 156436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Raytrace 0.63 207104 0.49 215296 0.49 231680 8.9 1.23 12.9 1.20 385 1.38 86 2.10 158 3.70 160 3.70 222 4.15 172 53 157436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Water-n2 0.18 10696 0.09 27072 0.11 59832 12.5 5.46 26.7 1.80 3092 3.03 263 3.06 92 3.28 92 3.28 92 3.55 189 39 158436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Water-sp 0.20 4444 0.15 13536 0.10 30269 10.6 11.56 27.0 2.52 405 3.29 69 3.42 95 4.59 95 4.59 97 4.73 183 34 159436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# .............................................................................................................................................. 160436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# geometric mean 0.14 13024 0.10 25669 0.14 47655 10.8 5.26 13.5 2.08 161 2.71 59 3.03 66 4.05 66 4.05 95 5.13 180 51 161436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# .............................................................................................................................................. 162436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Hardware: dual-core Intel Core2 Duo E6750, 2.66 GHz, 4 MB L2 cache, 2 GB RAM. 163436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Software: openSUSE 11.0 (64-bit edition), runlevel 3, kernel 2.6.30.1, gcc 4.3.1, 32 bit SPLASH-2 executables, valgrind trunk r10648. 164436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov################################################################################################################################################ 165436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 166436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#### 167436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Notes: 168436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# - The ITC performance numbers in the above table originate from table 1 in 169436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# the following paper: 170436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Paul Sack, Brian E. Bliss, Zhiqiang Ma, Paul Petersen, Josep Torrellas, 171436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Accurate and efficient filtering for the Intel thread checker race 172436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# detector, Proceedings of the 1st workshop on Architectural and system 173436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# support for improving software dependability, San Jose, California, 174436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 2006. Pages: 34 - 41. 175436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# - The input parameters for benchmarks below originate from table 1 in the 176436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# following paper: 177436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# The SPLASH-2 programs: characterization and methodological considerations 178436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Woo, S.C.; Ohara, M.; Torrie, E.; Singh, J.P.; Gupta, A. 179436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 1995. Proceedings of the 22nd Annual International Symposium on Computer 180436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Architecture, 22-24 Jun 1995, Page(s): 24 - 36. 181436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# ftp://www-flash.stanford.edu/pub/splash2/splash2_isca95.ps.Z 182436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#### 183436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 184436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovcache_size=$(get_cache_size) 185436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovlog2_cache_size=$(log2 ${cache_size}) 186436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 187436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Cholesky 188436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov( 189436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov cd ${SPLASH2}/codes/kernels/cholesky/inputs 190436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov for f in *Z 191436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov do 192436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov gzip -cd <$f >${f%.Z} 193436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov done 194436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov test_args=tk15.O run_test ../CHOLESKY -C$((cache_size)) 195436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov) 196436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 197436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# FFT 198436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovrun_test ${SPLASH2}/codes/kernels/fft/FFT -t -l$((log2_cache_size/2)) -m16 199436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 200436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# LU, contiguous blocks. 201436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovrun_test ${SPLASH2}/codes/kernels/lu/contiguous_blocks/LU -n512 202436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 203436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# LU, non-contiguous blocks. 204436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#run_test ${SPLASH2}/codes/kernels/lu/non_contiguous_blocks/LU -n512 205436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 206436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Ocean 207436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovrun_test ${SPLASH2}/codes/apps/ocean/contiguous_partitions/OCEAN -n258 208436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#run_test ${SPLASH2}/codes/apps/ocean/non_contiguous_partitions/OCEAN -n258 209436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 210436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Radiosity. Runs fine on a 32-bit OS, but deadlocks on a 64-bit OS. Not clear to me why. 211436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovif [ $(uname -p) = "i686" ]; then 212436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov psep=' ' run_test ${SPLASH2}/codes/apps/radiosity/RADIOSITY -batch -room -ae 5000.0 -en 0.050 -bf 0.10 213436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovfi 214436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 215436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Radix 216436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovrun_test ${SPLASH2}/codes/kernels/radix/RADIX -n$((2**20)) -r1024 217436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 218436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Raytrace 219436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov( 220436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov cd ${SPLASH2}/codes/apps/raytrace/inputs 221436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov rm -f *.env *.geo *.rl 222436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov for f in *Z 223436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov do 224436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov gzip -cd <$f >${f%.Z} 225436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov done 226436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov cd .. 227436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov test_args=inputs/car.env psep='' run_test ./RAYTRACE -m64 228436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov) 229436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 230436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Water-n2 231436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov( 232436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov cd ${SPLASH2}/codes/apps/water-nsquared 233436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov test_input=${DRD_SCRIPTS_DIR}/run-splash2-water-input psep=' ' run_test ./WATER-NSQUARED 234436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov) 235436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 236436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Water-sp 237436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov( 238436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov cd ${SPLASH2}/codes/apps/water-spatial 239436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov test_input=${DRD_SCRIPTS_DIR}/run-splash2-water-input psep=' ' run_test ./WATER-SPATIAL 240436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov) 241436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 242436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 243436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 244436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Local variables: 245436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# compile-command: "./run-splash2" 246436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# End: 247