mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-09 05:10:23 +00:00
159 lines
5.2 KiB
Bash
Executable File
159 lines
5.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
########################
|
|
# Function definitions #
|
|
########################
|
|
|
|
source "$(dirname $0)/measurement-functions"
|
|
|
|
function run_test {
|
|
local tmp avg1=1 stddev1=1 avg2=1 stddev2=1
|
|
|
|
tmp="/tmp/test-timing.$$"
|
|
rm -f "${tmp}"
|
|
|
|
test_output="${1}.out" measure_runtime "$@" | avgstddev > "$tmp"
|
|
read avg1 stddev1 < "$tmp"
|
|
echo "Average time: ${avg1} +/- ${stddev1} seconds"
|
|
|
|
for p in 4
|
|
do
|
|
test_output="${1}-drd-with-stack-var-${p}.out" \
|
|
print_runtime_ratio $VG --tool=exp-drd --check-stack-var=yes "$@" -p$p
|
|
|
|
test_output="${1}-drd-without-stack-var-${p}.out" \
|
|
print_runtime_ratio $VG --tool=exp-drd --check-stack-var=no "$@" -p$p
|
|
|
|
test_output="${1}-helgrind-${p}.out" \
|
|
print_runtime_ratio $VG --tool=helgrind "$@" -p$p
|
|
done
|
|
|
|
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
|
|
|
|
##############################################################################
|
|
# Results (-p4): native DRD DRD HG ITC ITC
|
|
# time w/ filter w/ filter
|
|
# ............................................................................
|
|
# Cholesky 0.29 115 80 47 239 82
|
|
# FFT 0.19 80 46 556 90 41
|
|
# LU, contiguous blocks 0.76 48 41 97 428 128
|
|
# LU, non-contiguous blocks 0.85 48 42 59 428 128
|
|
# Ocean, contiguous partitions 19.41 31 24 54 90 28
|
|
# Ocean, non-continguous partns 0.29 26 29 53 90 28
|
|
# Radiosity 3.11 240 76 58 485 163
|
|
# Radix 4.05 16 15 65 222 56
|
|
# Raytrace 2.21 272 57 89 172 53
|
|
# Water-n2 0.17 174 35 53 189 39
|
|
# Water-sp 0.18 144 35 51 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.1.3.
|
|
##############################################################################
|
|
# Results (-p4): native DRD DRD HG ITC ITC
|
|
# time w/ filter w/ filter
|
|
# ............................................................................
|
|
# Cholesky 0.21 109 71 37 239 82
|
|
# FFT 0.11 92 17 242 90 41
|
|
# LU, contiguous blocks 0.56 53 46 97 428 128
|
|
# LU, non-contiguous blocks 0.59 56 49 62 428 128
|
|
# Ocean, contiguous partitions 14.32 34 24 57 90 28
|
|
# Ocean, non-continguous partns 0.21 28 30 57 90 28
|
|
# Radiosity 2.35 259 75 60 485 163
|
|
# Radix 2.80 17 15 90 222 56
|
|
# Raytrace (?) 90.79 339 55 89 172 53
|
|
# Water-n2 0.15 154 30 46 189 39
|
|
# Water-sp 0.15 146 30 46 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.2.1, runlevel 5, X screensaver: blank
|
|
##############################################################################
|
|
|
|
cache_size=$(($(get_cache_size)/2))
|
|
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:
|