#!/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: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: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: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: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:spec2017_rate bmk_data[tcwg_bmk-qc_speed-cpu2017rate--gnu-aarch64]=qc_64: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: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:spec2006_nofortran bmk_data[tcwg_bmk-fujitsu_speed-cpu2017speed--gnu-aarch64]=fx_64:spec2017_speed bmk_data[tcwg_bmk-fujitsu_speed-cpu2017speed--llvm-aarch64]=fx_64:spec2017_speed bmk_data[tcwg_bmk-code_sve-cpu2017fast--gnu-aarch64]=fx_64: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_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: -f2 }