Enable benchmark error detection.
This commit is contained in:
parent
2395cd10b3
commit
8212528761
@ -407,6 +407,16 @@
|
||||
};
|
||||
|
||||
bench2 = final.writeShellScript "bench2" ''
|
||||
#Tests if a benchmark exection was successful
|
||||
function bench_test {
|
||||
$@
|
||||
local status=$?
|
||||
if (( status != 0)); then
|
||||
echo "BENCHMARK-ERROR-STATE"
|
||||
fi
|
||||
return $status
|
||||
}
|
||||
|
||||
echo --------BENCHMARKING PHASE---------
|
||||
# Performs minimal FS setup and runs the SPEC benchmark
|
||||
mkdir /tmp /bin /root
|
||||
@ -420,42 +430,43 @@
|
||||
#cat /tmp/spec/time.csv
|
||||
# hpc_benchmarks
|
||||
set -x
|
||||
axpy-autovect 800 1000
|
||||
axpy-cblas 800 1000
|
||||
axpy-omp-simd 800 1000
|
||||
axpy-scalar 800 1000
|
||||
|
||||
gemm-autovect 256
|
||||
gemm-omp-simd 256
|
||||
gemm-scalar 256
|
||||
bench_test "axpy-autovect 800 1000"
|
||||
bench_test "axpy-cblas 800 1000"
|
||||
bench_test "axpy-omp-simd 800 1000"
|
||||
bench_test "axpy-scalar 800 1000"
|
||||
|
||||
somier-autovect 4 32
|
||||
somier-omp-simd 4 32
|
||||
somier-scalar 4 32
|
||||
bench_test "gemm-autovect 256"
|
||||
bench_test "gemm-omp-simd 256"
|
||||
bench_test "gemm-scalar 256"
|
||||
|
||||
lulesh2.0 -s 4
|
||||
bench_test "somier-autovect 4 32"
|
||||
bench_test "somier-omp-simd 4 32"
|
||||
bench_test "somier-scalar 4 32"
|
||||
|
||||
jacobi2d_scalar_vanilla 16 2
|
||||
bench_test "lulesh2.0 -s 4"
|
||||
|
||||
hacckernels-autovectorisation 10
|
||||
hacckernels-scalar 10
|
||||
bench_test "jacobi2d_scalar_vanilla 16 2"
|
||||
|
||||
bench_test "hacckernels-scalar 10"
|
||||
|
||||
# desktop_benchmarks
|
||||
|
||||
blackscholes_scalar 1 ${final.blackscholesInput} /dev/null
|
||||
bench_test "blackscholes_scalar 1 ${final.blackscholesInput} /dev/null"
|
||||
|
||||
streamcluster_scalar 3 10 16 16 16 10 none output.txt 1
|
||||
bench_test "streamcluster_scalar 3 10 16 16 16 10 none output.txt 1"
|
||||
|
||||
canneal_scalar 1 100 300
|
||||
canneal_vectorial_intrinsics
|
||||
bench_test "canneal_vectorial_intrinsics"
|
||||
|
||||
pathfinder_serial.exe 64 64 output_64_64.txt
|
||||
pathfinder_vector.exe 64 64 output_64_64.txt
|
||||
bench_test "pathfinder_serial.exe 64 64 output_64_64.txt"
|
||||
bench_test "pathfinder_vector.exe 64 64 output_64_64.txt"
|
||||
|
||||
swaptions_scalar -ns 2 -sm 1024 -nt 1
|
||||
bench_test "swaptions_scalar -ns 2 -sm 1024 -nt 1"
|
||||
|
||||
# micro_benchmarks (NO WORKING BENCHMARKS FOR NOW...)
|
||||
|
||||
echo "BENCHMARK-SUCESS-STATE"
|
||||
|
||||
# Give me a shell at the end
|
||||
bash -l
|
||||
'';
|
||||
|
@ -3,13 +3,18 @@ BEGIN {
|
||||
}
|
||||
|
||||
/^BENCHMARK-SUCESS-STATE/ { bench_success_flag = 1; system("pkill -f -SIGTERM qemu-system-riscv64")}
|
||||
/^BENCHMARK-ERROR-STATE/ { bench_success_flag = 0; system("pkill -f -SIGTERM qemu-system-riscv64")}
|
||||
{print $0}
|
||||
|
||||
END {
|
||||
printf "Benchmark execution has finished.\n";
|
||||
|
||||
if (bench_success_flag)
|
||||
printf "Benchmark execution has finished ";
|
||||
|
||||
if (bench_success_flag) {
|
||||
printf "successfully.\n";
|
||||
exit 0;
|
||||
else
|
||||
} else {
|
||||
printf "with errors.\n";
|
||||
exit 1;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user