@@ -23,22 +23,22 @@ This script builds and runs benchmarks from compute-benchmarks."
2323clone_perf_res () {
2424 echo " ### Cloning llvm-ci-perf-res ($SANITIZED_PERF_RES_GIT_REPO :$SANITIZED_PERF_RES_GIT_BRANCH ) ###"
2525 mkdir -p " $( dirname " $SANITIZED_PERF_RES_PATH " ) "
26- git clone -b $SANITIZED_PERF_RES_GIT_BRANCH https://github.com/$SANITIZED_PERF_RES_GIT_REPO $SANITIZED_PERF_RES_PATH
26+ git clone -b " $SANITIZED_PERF_RES_GIT_BRANCH " " https://github.com/$SANITIZED_PERF_RES_GIT_REPO " " $SANITIZED_PERF_RES_PATH "
2727 [ " $? " -ne 0 ] && exit $?
2828}
2929
3030clone_compute_bench () {
3131 echo " ### Cloning compute-benchmarks ($SANITIZED_COMPUTE_BENCH_GIT_REPO :$SANITIZED_COMPUTE_BENCH_GIT_BRANCH ) ###"
3232 mkdir -p " $( dirname " $SANITIZED_COMPUTE_BENCH_PATH " ) "
33- git clone -b $SANITIZED_COMPUTE_BENCH_GIT_BRANCH \
34- --recurse-submodules https://github.com/$SANITIZED_COMPUTE_BENCH_GIT_REPO \
35- $SANITIZED_COMPUTE_BENCH_PATH
36- [ " $? " -ne 0 ] && exit $?
33+ git clone -b " $SANITIZED_COMPUTE_BENCH_GIT_BRANCH " \
34+ --recurse-submodules " https://github.com/$SANITIZED_COMPUTE_BENCH_GIT_REPO " \
35+ " $SANITIZED_COMPUTE_BENCH_PATH "
36+ [ " $? " -ne 0 ] && exit " $? "
3737}
3838
3939build_compute_bench () {
4040 echo " ### Building compute-benchmarks ($SANITIZED_COMPUTE_BENCH_GIT_REPO :$SANITIZED_COMPUTE_BENCH_GIT_BRANCH ) ###"
41- mkdir $SANITIZED_COMPUTE_BENCH_PATH /build && cd $SANITIZED_COMPUTE_BENCH_PATH /build &&
41+ mkdir " $SANITIZED_COMPUTE_BENCH_PATH /build" && cd " $SANITIZED_COMPUTE_BENCH_PATH /build" &&
4242 # No reason to turn on ccache, if this docker image will be disassembled later on
4343 cmake .. -DBUILD_SYCL=ON -DBUILD_L0=OFF -DBUILD=OCL=OFF -DCCACHE_ALLOWED=FALSE
4444 # TODO enable mechanism for opting into L0 and OCL -- the concept is to
@@ -58,38 +58,9 @@ build_compute_bench() {
5858 make " -j$SANITIZED_COMPUTE_BENCH_COMPILE_JOBS " " $case "
5959 done < " $TESTS_CONFIG "
6060 fi
61- # compute_bench_build_stat=$?
6261 cd -
63- # [ "$compute_bench_build_stat" -ne 0 ] && exit $compute_bench_build_stat
6462}
6563
66- # print_bench_res() {
67- # # Usage: print_bench_res <benchmark output .csv file> <benchmark status code> <summary file>
68- # if [ ! -s $1 ]; then
69- # printf "NO OUTPUT! (Status $2)\n" | tee -a $3
70- # return # Do not proceed if file is empty
71- # fi
72- #
73- # get_csv_col_index $1 run-time-mean
74- # tmp_run_time_mean_i=$tmp_csv_col_i
75- # get_csv_col_index $1 run-time-median
76- # tmp_run_time_median_i=$tmp_csv_col_i
77- # get_csv_col_index $1 run-time-throughput
78- # tmp_run_time_throughput_i=$tmp_csv_col_i
79- #
80- # # `sycl-bench` output seems to like inserting the header multiple times.
81- # # Here we cache the header to make sure it prints only once:
82- # tmp_header_title="$(cat $1 | head -n 1 | sed 's/^\# Benchmark name/benchmark/')"
83- # tmp_result="$(cat $1 | grep '^[^\#]')"
84- #
85- # printf "%s\n%s" "$tmp_header_title" "$tmp_result" \
86- # | awk -F',' -v me="$tmp_run_time_mean_i" \
87- # -v md="$tmp_run_time_median_i" \
88- # -v th="$tmp_run_time_throughput_i" \
89- # '{printf "%-57s %-13s %-15s %-20s\n", $1, $me, $md, $th }' \
90- # | tee -a $3 # Print to summary file
91- # }
92-
9364# Check if the number of samples for a given test case is less than a threshold
9465# set in benchmark-ci.conf
9566#
@@ -155,6 +126,7 @@ process_benchmarks() {
155126 # Loop through each line of enabled_tests.conf, but ignore lines in the
156127 # test config starting with #'s:
157128 grep " ^[^#]" " $TESTS_CONFIG " | while read -r testcase; do
129+ # Make sure testcase is clean:
158130 if [ -n " $( printf " %s" " $testcase " | sed " s/[a-zA-Z_]*//g" ) " ]; then
159131 echo " Illegal characters in $TESTS_CONFIG ."
160132 exit 1
@@ -214,8 +186,8 @@ process_results() {
214186
215187cleanup () {
216188 echo " ### Cleaning up compute-benchmark builds from prior runs ###"
217- rm -rf $SANITIZED_COMPUTE_BENCH_PATH
218- rm -rf $SANITIZED_PERF_RES_PATH
189+ rm -rf " $SANITIZED_COMPUTE_BENCH_PATH "
190+ rm -rf " $SANITIZED_PERF_RES_PATH "
219191 [ ! -z " $_exit_after_cleanup " ] && exit
220192}
221193
@@ -234,9 +206,9 @@ load_configs() {
234206 # Derive /devops based on location of this script:
235207 [ -z " $DEVOPS_PATH " ] && DEVOPS_PATH=" $( dirname " $0 " ) /../.."
236208
237- TESTS_CONFIG=" $( realpath $DEVOPS_PATH /benchmarking/enabled_tests.conf) "
238- COMPARE_PATH=" $( realpath $DEVOPS_PATH /scripts/benchmarking/compare.py) "
239- LOAD_CONFIG_PY=" $( realpath $DEVOPS_PATH /scripts/benchmarking/load_config.py) "
209+ TESTS_CONFIG=" $( realpath " $DEVOPS_PATH /benchmarking/enabled_tests.conf" ) "
210+ COMPARE_PATH=" $( realpath " $DEVOPS_PATH /scripts/benchmarking/compare.py" ) "
211+ LOAD_CONFIG_PY=" $( realpath " $DEVOPS_PATH /scripts/benchmarking/load_config.py" ) "
240212
241213 for file in \
242214 " $TESTS_CONFIG " " $COMPARE_PATH " " $LOAD_CONFIG_PY "
@@ -261,17 +233,17 @@ TIMESTAMP="$(date +"$SANITIZED_TIMESTAMP_FORMAT")"
261233
262234# CLI flags + overrides to configuration options:
263235while getopts " p:b:r:f:n:cCs" opt; do
264- case $opt in
265- p) COMPUTE_BENCH_PATH=$OPTARG ;;
266- r) COMPUTE_BENCH_GIT_REPO=$OPTARG ;;
267- b) COMPUTE_BENCH_BRANCH=$OPTARG ;;
268- f) COMPUTE_BENCH_COMPILE_FLAGS=$OPTARG ;;
269- n) RUNNER=$OPTARG ;;
236+ case " $opt " in
237+ p) COMPUTE_BENCH_PATH=" $OPTARG " ;;
238+ r) COMPUTE_BENCH_GIT_REPO=" $OPTARG " ;;
239+ b) COMPUTE_BENCH_BRANCH=" $OPTARG " ;;
240+ f) COMPUTE_BENCH_COMPILE_FLAGS=" $OPTARG " ;;
241+ n) RUNNER=" $OPTARG " ;;
270242 # Cleanup status is saved in a var to ensure all arguments are processed before
271243 # performing cleanup
272244 c) _cleanup=1 ;;
273245 C) _cleanup=1 && _exit_after_cleanup=1 ;;
274- s) CACHE_RESULTS=" 1 " ;;
246+ s) CACHE_RESULTS=1 ;;
275247 \? ) usage ;;
276248 esac
277249done
0 commit comments