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