diff options
Diffstat (limited to 'tcwg_bmk-config.sh')
-rw-r--r-- | tcwg_bmk-config.sh | 85 |
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 +} |