summaryrefslogtreecommitdiff
path: root/tcwg_bmk-config.sh
blob: 52892308455c19e08bee54de37e85f00464405b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/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
}