summaryrefslogtreecommitdiff
path: root/tcwg_bmk-config.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tcwg_bmk-config.sh')
-rw-r--r--tcwg_bmk-config.sh85
1 files changed, 85 insertions, 0 deletions
diff --git a/tcwg_bmk-config.sh b/tcwg_bmk-config.sh
new file mode 100644
index 00000000..fafe6712
--- /dev/null
+++ b/tcwg_bmk-config.sh
@@ -0,0 +1,85 @@
+#!/bin/bash
+
+# We need to make sure rr is well defined and ci_project & ci_config are well set
+# before using tcwg_bmk-config.sh
+
+# shellcheck disable=SC2154
+( [[ -v rr[ci_project] ]] && [[ -v rr[ci_config] ]] ) || \
+ assert_with_msg "ERROR: need rr to be well defined." false
+
+declare -A bmk_data
+bmk_data[tcwg_bmk-code_size-coremark--gnu_eabi-arm_eabi]=stm32:cortex-m4:coremark
+bmk_data[tcwg_bmk-code_size-cpu2017fast--gnu-aarch64]=sq_64::spec2017_fast
+bmk_data[tcwg_bmk-code_size-cpu2017fast--llvm-aarch64]=sq_64::spec2017_fast
+bmk_data[tcwg_bmk-code_size-cpu2017rate--gnu-arm]=sq_32::spec2017_rate
+bmk_data[tcwg_bmk-code_size-cpu2017rate--llvm-arm]=sq_32::spec2017_rate_nofortran
+bmk_data[tcwg_bmk-code_size-spec2k6--gnu-aarch64]=sq_64::spec2006_all
+bmk_data[tcwg_bmk-code_size-spec2k6--gnu-arm]=sq_32::spec2006_all
+bmk_data[tcwg_bmk-code_size-spec2k6--llvm-aarch64]=sq_64::spec2006_all
+bmk_data[tcwg_bmk-code_size-spec2k6--llvm-arm]=sq_32::spec2006_nofortran
+bmk_data[tcwg_bmk-code_speed-coremark--gnu_eabi-arm_eabi]=stm32:cortex-m4:coremark
+bmk_data[tcwg_bmk-code_speed-cpu2017rate--gnu-aarch64]=tx1_64::spec2017_rate
+bmk_data[tcwg_bmk-code_speed-cpu2017rate--gnu-arm]=tk1_32:cortex-a15:spec2017_rate
+bmk_data[tcwg_bmk-code_speed-cpu2017rate--llvm-aarch64]=tx1_64::spec2017_rate
+bmk_data[tcwg_bmk-code_speed-cpu2017rate--llvm-arm]=tk1_32:cortex-a15:spec2017_rate_nofortran
+bmk_data[tcwg_bmk-code_speed-cpu2017speed--gnu-aarch64]=apm_64::spec2017_speed
+bmk_data[tcwg_bmk-code_speed-cpu2017speed--llvm-aarch64]=apm_64::spec2017_speed
+bmk_data[tcwg_bmk-qc_speed-cpu2017rate--llvm-aarch64]=qc_64:cortex-x1:spec2017_rate
+bmk_data[tcwg_bmk-qc_speed-cpu2017rate--gnu-aarch64]=qc_64:cortex-x1:spec2017_rate
+bmk_data[tcwg_bmk-code_speed-spec2k6--gnu-aarch64]=tx1_64::spec2006_all
+bmk_data[tcwg_bmk-code_speed-spec2k6--gnu-arm]=tk1_32:cortex-a15:spec2006_all
+bmk_data[tcwg_bmk-code_speed-spec2k6--llvm-aarch64]=tx1_64::spec2006_all
+bmk_data[tcwg_bmk-code_speed-spec2k6--llvm-arm]=tk1_32:cortex-a15:spec2006_nofortran
+bmk_data[tcwg_bmk-fujitsu_speed-cpu2017speed--gnu-aarch64]=fx_64:a64fx:spec2017_speed
+bmk_data[tcwg_bmk-fujitsu_speed-cpu2017speed--llvm-aarch64]=fx_64:a64fx:spec2017_speed
+bmk_data[tcwg_bmk-code_sve-cpu2017fast--gnu-aarch64]=fx_64:generic+sve:spec2017_fast
+bmk_data[tcwg_bmk-code_vect-cpu2017fast--gnu-aarch64]=sq_64::spec2017_fast
+bmk_data[tcwg_bmk-code_vect-cpu2017fast--llvm-aarch64]=sq_64::spec2017_fast
+bmk_data[tcwg_bmk-code_vect-cpu2017rate--gnu-arm]=sq_32::spec2017_rate
+bmk_data[tcwg_bmk-code_vect-cpu2017rate--llvm-arm]=sq_32::spec2017_rate_nofortran
+bmk_data[tcwg_bmk-code_vect-spec2k6--gnu-aarch64]=sq_64::spec2006_all
+bmk_data[tcwg_bmk-code_vect-spec2k6--gnu-arm]=sq_32::spec2006_all
+bmk_data[tcwg_bmk-code_vect-spec2k6--llvm-aarch64]=sq_64::spec2006_all
+bmk_data[tcwg_bmk-code_vect-spec2k6--llvm-arm]=sq_32::spec2006_nofortran
+
+# Returns the hw_tag to use.
+# Requires rr ci_project / ci_config well set
+tcwg_bmk_hw ()
+{
+ local data data_key
+ data_key=$(echo ${rr[ci_project]}--${rr[ci_config]} | cut -d- -f1-6)
+ data="${bmk_data[$data_key]-unset}"
+ if [ x"$data" = x"unset" ]; then
+ assert_with_msg "tcwg_bmk_benchs: Unknown project \"${rr[ci_project]}--${rr[ci_config]}\"" false
+ fi
+ echo "$data" | cut -d: -f1
+}
+
+tcwg_bmk_cpu ()
+{
+ local data data_key
+ data_key=$(echo ${rr[ci_project]}--${rr[ci_config]} | cut -d- -f1-6)
+ data="${bmk_data[$data_key]-unset}"
+ if [ x"$data" = x"unset" ]; then
+ assert_with_msg "tcwg_bmk_benchs: Unknown project \"${rr[ci_project]}--${rr[ci_config]}\"" false
+ fi
+ echo "$data" | cut -d: -f2
+}
+
+tcwg_bmk_benchs ()
+{
+ # If a specific benchmark list is specified, just return it.
+ # shellcheck disable=SC2154
+ if [ x"${benchmarks[*]+set}" = x"set" ]; then
+ echo "${benchmarks[*]}"
+ return
+ fi
+
+ local data data_key
+ data_key=$(echo ${rr[ci_project]}--${rr[ci_config]} | cut -d- -f1-6)
+ data="${bmk_data[$data_key]-unset}"
+ if [ x"$data" = x"unset" ]; then
+ assert_with_msg "tcwg_bmk_benchs: Unknown project \"${rr[ci_project]}--${rr[ci_config]}\"" false
+ fi
+ echo "$data" | cut -d: -f3
+}