Enable benchmark error detection.

This commit is contained in:
Dylan Bautista 2025-02-17 15:50:42 +01:00
parent 2395cd10b3
commit 8212528761
2 changed files with 41 additions and 25 deletions

View File

@ -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
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"
gemm-autovect 256
gemm-omp-simd 256
gemm-scalar 256
bench_test "gemm-autovect 256"
bench_test "gemm-omp-simd 256"
bench_test "gemm-scalar 256"
somier-autovect 4 32
somier-omp-simd 4 32
somier-scalar 4 32
bench_test "somier-autovect 4 32"
bench_test "somier-omp-simd 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
hacckernels-scalar 10
bench_test "hacckernels-scalar 10"
# desktop_benchmarks
blackscholes_scalar 1 ${final.blackscholesInput} /dev/null
streamcluster_scalar 3 10 16 16 16 10 none output.txt 1
bench_test "blackscholes_scalar 1 ${final.blackscholesInput} /dev/null"
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
'';

View File

@ -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";
printf "Benchmark execution has finished ";
if (bench_success_flag)
if (bench_success_flag) {
printf "successfully.\n";
exit 0;
else
} else {
printf "with errors.\n";
exit 1;
}
}