mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-09 05:10:23 +00:00
216 lines
11 KiB
Bash
Executable File
216 lines
11 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
########################
|
|
# Function definitions #
|
|
########################
|
|
|
|
source "$(dirname $0)/measurement-functions"
|
|
|
|
function run_test {
|
|
local tmp avg1 stddev1 avg2 stddev2 avg4 stddev4
|
|
|
|
tmp="/tmp/test-timing.$$"
|
|
rm -f "${tmp}"
|
|
|
|
test_output="${1}.out" measure_runtime "$@" -p1 | avgstddev > "$tmp"
|
|
read avg1 stddev1 vsz1 vszdev1 < "$tmp"
|
|
echo "Average time: ${avg1} +/- ${stddev1} seconds." \
|
|
" VSZ: ${vsz1} +/- ${vszdev1} KB"
|
|
|
|
test_output="${1}.out" measure_runtime "$@" -p2 | avgstddev > "$tmp"
|
|
read avg2 stddev2 vsz2 vszdev2 < "$tmp"
|
|
echo "Average time: ${avg2} +/- ${stddev2} seconds." \
|
|
" VSZ: ${vsz2} +/- ${vszdev2} KB"
|
|
|
|
test_output="${1}.out" measure_runtime "$@" -p4 | avgstddev > "$tmp"
|
|
read avg4 stddev4 vsz4 vszdev4 < "$tmp"
|
|
echo "Average time: ${avg4} +/- ${stddev4} seconds." \
|
|
" VSZ: ${vsz4} +/- ${vszdev4} KB"
|
|
|
|
test_output="/dev/null" \
|
|
print_runtime_ratio ${avg1} ${stddev1} ${vsz1} ${vszdev1} $VG --tool=none "$@" -p1
|
|
|
|
test_output="/dev/null" \
|
|
print_runtime_ratio ${avg4} ${stddev4} ${vsz4} ${vszdev4} $VG --tool=none "$@" -p4
|
|
|
|
test_output="${1}-drd-with-stack-var-${p}.out" \
|
|
print_runtime_ratio ${avg4} ${stddev4} ${vsz4} ${vszdev4} \
|
|
$VG --tool=exp-drd --check-stack-var=yes "$@" -p4
|
|
|
|
test_output="${1}-drd-without-stack-var-${p}.out" \
|
|
print_runtime_ratio ${avg4} ${stddev4} ${vsz4} ${vszdev4} \
|
|
$VG --tool=exp-drd --check-stack-var=no "$@" -p4
|
|
|
|
test_output="${1}-helgrind-${p}.out" \
|
|
print_runtime_ratio ${avg4} ${stddev4} ${vsz4} ${vszdev4} $VG --tool=helgrind "$@" -p4
|
|
|
|
echo ''
|
|
|
|
rm -f "$tmp"
|
|
}
|
|
|
|
|
|
########################
|
|
# Script body #
|
|
########################
|
|
|
|
DRD_SCRIPTS_DIR="$(dirname $0)"
|
|
if [ "${DRD_SCRIPTS_DIR:0:1}" != "/" ]; then
|
|
DRD_SCRIPTS_DIR="$PWD/$DRD_SCRIPTS_DIR"
|
|
fi
|
|
|
|
SPLASH2="${DRD_SCRIPTS_DIR}/../splash2"
|
|
if [ ! -e "${SPLASH2}" ]; then
|
|
echo "Error: splash2 directory not found (${SPLASH2})."
|
|
exit 1
|
|
fi
|
|
|
|
if [ "$VG" = "" ]; then
|
|
VG="${DRD_SCRIPTS_DIR}/../../vg-in-place"
|
|
fi
|
|
|
|
if [ ! -e "$VG" ]; then
|
|
echo "Could not find $VG."
|
|
exit 1
|
|
fi
|
|
|
|
######################################################################################################################
|
|
# Meaning of the different colums:
|
|
# 1. SPLASH2 test name.
|
|
# 2. Execution time in seconds for native run with argument -p1.
|
|
# 3. Virtual memory size in KB for the native run with argument -p1.
|
|
# 4. Execution time in seconds for native run with argument -p2.
|
|
# 5. Virtual memory size in KB for the native run with argument -p2.
|
|
# 6. Execution time in seconds for native run with argument -p4.
|
|
# 7. Virtual memory size in KB for the native run with argument -p4.
|
|
# 8. Execution time ratio for --tool=none -p1 versus -p1.
|
|
# 9. Virtual memory size ratio for --tool=none -p1 versus -p1.
|
|
# 10. Execution time ratio for --tool=none -p4 versus -p4.
|
|
# 11. Virtual memory size ratio for --tool=none -p4 versus -p4.
|
|
# 12. Execution time ratio for --tool=exp-drd --check-stack-var=yes -p4 versus -p4.
|
|
# 13. Virtual memory size ratio for --tool=exp-drd --check-stack-var=yes -p4 versus -p4.
|
|
# 14. Execution time ratio for --tool=exp-drd --check-stack-var=no -p4 versus -p4.
|
|
# 15. Virtual memory size ratio for --tool=exp-drd --check-stack-var=no -p4 versus -p4.
|
|
# 16. Execution time ratio for --tool=helgrind -p4 versus -p4.
|
|
# 17. Virtual memory size ratio for --tool=helgrind -p4 versus -p4.
|
|
# 18. Execution time ratio for Intel Thread Checker -p4 versus -p4.
|
|
# 19. Execution time ratio for Intel Thread Checker -p4 versus -p4.
|
|
#
|
|
# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
|
#########################################################################################################################
|
|
# Results: native native native none none DRD DRD HG ITC ITC
|
|
# -p1 -p2 -p4 -p1 -p4 -p4 -p4+f -p4 -p4 -p4+f
|
|
# .......................................................................................................................
|
|
# Cholesky 0.37 45867 0.25 55965 0.20 96789 8.3 2.08 17.3 1.29 173 .... 118 .... 57 .... 239 82
|
|
# FFT 0.23 ..... 0.14 ..... 0.10 ..... 7.5 .... 16.2 .... 119 .... 80 .... 2336 .... 90 41
|
|
# LU, contiguous 0.95 ..... 0.64 ..... 0.43 ..... 7.9 .... 18.0 .... 119 .... 113 .... 223 .... 428 128
|
|
# LU, non-contiguous 1.18 ..... 0.69 ..... 0.41 ..... 6.7 .... 19.5 .... 204 .... 187 .... 164 .... 428 128
|
|
# Ocean, contiguous 24.53 ..... 13.97 ..... 9.28 ..... 2.4 .... 6.5 .... 89 .... 76 .... 147 .... 90 28
|
|
# Ocean, non-contiguous 0.36 ..... 0.19 ..... 0.17 ..... 4.2 .... 10.0 .... 56 .... 68 .... 121 .... 90 28
|
|
# Radiosity 4.77 ..... 4.77 ..... 4.75 ..... 16.6 .... 16.6 .... 116 .... 50 .... 56 .... 485 163
|
|
# Radix 5.03 ..... 2.57 ..... 1.36 ..... 6.1 .... 22.5 .... .. .... .. .... ... .... 222 56
|
|
# Raytrace .... ..... .... ..... .... ..... ... .... ... .... ... .... .. .... .. .... 172 53
|
|
# Water-n2 .... ..... .... ..... .... ..... .... .... .... .... ... .... .. .... .. .... 189 39
|
|
# Water-sp .... ..... .... ..... .... ..... .... .... .... .... .. .... .. .... .. .... 183 34
|
|
# .......................................................................................................................
|
|
# Hardware: Two quad-core Intel Xeon L5130, 1.6 GHz, 4 MB L2 cache, 16 GB RAM.
|
|
# Software: Ubuntu 8.04 server, 64-bit, gcc 4.3.1.
|
|
#########################################################################################################################
|
|
# Results: native native native none none DRD DRD HG ITC ITC
|
|
# -p1 -p2 -p4 -p1 -p4 -p4 -p4+f -p4 -p4 -p4+f
|
|
# .......................................................................................................................
|
|
# Cholesky 0.29 45835 0.21 55933 4.60 74944 8.6 2.21 1.0 1.75 5 2.05 4 2.16 2 3.22 239 82
|
|
# FFT 0.19 6 GB 0.12 6 GB 0.12 6 GB 7.0 1.01 11.3 1.01 87 1.02 59 1.02 .... .... 90 41
|
|
# LU, contiguous 0.79 16752 0.54 ..... 0.53 ..... 8.3 4.27 11.7 2.33 79 .... 75 .... 148 .... 428 128
|
|
# LU, non-contiguous 0.86 ..... 0.47 ..... 0.49 ..... 7.5 .... 12.6 .... 136 .... 124 .... 109 .... 428 128
|
|
# Ocean, contiguous 19.46 ..... 12.59 ..... 12.61 ..... 2.4 .... 3.7 .... 53 .... 47 .... 86 .... 90 28
|
|
# Ocean, non-contiguous 0.30 ..... 0.19 ..... 0.19 ..... 4.0 .... 6.8 .... 38 .... 47 .... 84 .... 90 28
|
|
# Radiosity 3.86 ..... 3.84 ..... 3.84 ..... 16.3 .... 16.4 .... ... .... .. .... .. .... 485 163
|
|
# Radix 4.07 ..... 2.12 ..... 2.12 ..... 5.7 .... 10.9 .... .. .... .. .... ... .... 222 56
|
|
# Raytrace 2.22 ..... 2.19 ..... 2.20 ..... 7.8 .... 7.9 .... ... .... .. .... .. .... 172 53
|
|
# Water-n2 0.18 ..... 0.17 ..... 0.17 ..... 11.4 .... 11.5 .... ... .... .. .... .. .... 189 39
|
|
# Water-sp 0.19 ..... 0.18 ..... 0.18 ..... 10.4 .... 10.2 .... .. .... .. .... .. .... 183 34
|
|
# .......................................................................................................................
|
|
# Hardware: dual-core Intel Xeon 5130, 2.0 GHz, 4 MB L2 cache, 4 GB RAM.
|
|
# Software: Ubuntu 7.10 server, 64-bit, gcc 4.3.1, xload -update 1 running.
|
|
#########################################################################################################################
|
|
# Results: native native native none none DRD DRD HG ITC ITC
|
|
# -p1 -p2 -p4 -p1 -p4 -p4 -p4+f -p4 -p4 -p4+f
|
|
# .......................................................................................................................
|
|
# Cholesky 0.21 45565 0.14 55658 4.49 74667 9.05 2.31 0.64 1.80 4 2.11 3 2.22 1 3.28 239 82
|
|
# FFT 0.11 ..... 0.08 ..... 0.07 ..... .... .... .... .... 138 .... 66 .... 380 .... 90 41
|
|
# LU, contiguous 0.56 ..... 0.34 ..... 0.34 ..... .... .... .... .... 72 .... 68 .... 96 .... 428 128
|
|
# LU, non-contiguous 0.59 ..... 0.32 ..... 0.35 ..... .... .... .... .... 92 .... 109 .... 60 .... 428 128
|
|
# Ocean, contiguous 14.30 ..... 9.54 ..... 9.56 ..... .... .... .... .... 61 .... 48 .... 89 .... 90 28
|
|
# Ocean, non-contiguous 0.20 ..... 0.12 ..... 0.12 ..... .... .... .... .... 45 .... 51 .... 93 .... 90 28
|
|
# Radiosity 2.33 ..... 2.32 ..... 2.33 ..... .... .... .... .... 175 .... 61 .... 60 .... 485 163
|
|
# Radix 2.81 ..... 1.45 ..... 1.46 ..... .... .... .... .... 32 .... 29 .... 153 .... 222 56
|
|
# Raytrace 1.65 ..... 1.64 ..... 1.64 ..... .... .... .... .... 230 .... 55 .... 89 .... 172 53
|
|
# Water-n2 0.14 ..... 0.12 ..... 0.12 ..... .... .... .... .... 129 .... 35 .... 55 .... 189 39
|
|
# Water-sp 0.14 ..... 0.12 ..... 0.12 ..... .... .... .... .... 121 .... 36 .... 54 .... 183 34
|
|
# .......................................................................................................................
|
|
# Hardware: dual-core Intel Core2 Duo E6750, 2.66 GHz, 4 MB L2 cache, 2 GB RAM.
|
|
# Software: openSUSE 10.3, 64-bit, gcc 4.3.1, runlevel 5, X screensaver: blank
|
|
#########################################################################################################################
|
|
|
|
cache_size=$(get_cache_size)
|
|
log2_cache_size=$(log2 ${cache_size})
|
|
|
|
# Cholesky
|
|
(
|
|
cd ${SPLASH2}/codes/kernels/cholesky/inputs
|
|
for f in *Z
|
|
do
|
|
gzip -cd <$f >${f%.Z}
|
|
done
|
|
run_test ../CHOLESKY -C$((cache_size)) tk29.O
|
|
)
|
|
|
|
# FFT
|
|
run_test ${SPLASH2}/codes/kernels/fft/FFT -t -l$((log2_cache_size)) -m18
|
|
|
|
# LU, contiguous blocks.
|
|
run_test ${SPLASH2}/codes/kernels/lu/contiguous_blocks/LU -n1024
|
|
|
|
# LU, non-contiguous blocks.
|
|
run_test ${SPLASH2}/codes/kernels/lu/non_contiguous_blocks/LU -n1024
|
|
|
|
# Ocean
|
|
run_test ${SPLASH2}/codes/apps/ocean/contiguous_partitions/OCEAN -n2050
|
|
run_test ${SPLASH2}/codes/apps/ocean/non_contiguous_partitions/OCEAN -n258
|
|
|
|
# Radiosity.
|
|
run_test ${SPLASH2}/codes/apps/radiosity/RADIOSITY -batch -room
|
|
|
|
# Radix
|
|
run_test ${SPLASH2}/codes/kernels/radix/RADIX -n$((2**24))
|
|
|
|
# Raytrace
|
|
(
|
|
cd ${SPLASH2}/codes/apps/raytrace/inputs
|
|
rm -f *.env *.geo *.rl
|
|
for f in *Z
|
|
do
|
|
gzip -cd <$f >${f%.Z}
|
|
done
|
|
run_test ../RAYTRACE balls4.env
|
|
)
|
|
|
|
# Water-n2
|
|
(
|
|
cd ${SPLASH2}/codes/apps/water-nsquared
|
|
test_input=input run_test ./WATER-NSQUARED
|
|
)
|
|
|
|
# Water-sp
|
|
(
|
|
cd ${SPLASH2}/codes/apps/water-spatial
|
|
test_input=input run_test ./WATER-SPATIAL
|
|
)
|
|
|
|
|
|
|
|
# Local variables:
|
|
# compile-command: "./run-splash2"
|
|
# End:
|