aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Jones <christopher.jones@linaro.org>2022-02-10 12:30:53 +0000
committerChris Jones <christopher.jones@linaro.org>2022-03-24 19:27:45 +0000
commit970ecbb3b949a2706e156abf716b61e9ec5daf56 (patch)
tree9b53566e19a6640992698710183907ef6da5e681
parent2395ce41310b96e0bc58071e5c6bcefcbe08b20a (diff)
downloadart-build-scripts-970ecbb3b949a2706e156abf716b61e9ec5daf56.tar.gz
Add oriole benchmark config file
Add a new config file for the oriole (Pixel 6) device. As this device uses the Arm DynamIQ CPU structure it has 3 different CPU clusters each with a different type of core. As the current benchmarking framework does not support more than two types of cluster a new 2d associative array has been introduced to accurately describe the Pixel 6's CPU structure. Test: ./scripts/benchmarks/benchmarks_run_target.sh --target-device \ oriole --cpu middle --iterations 2 algorithm/DeltaBlue Change-Id: I91d7a271338968e0e375fcd4c496a5b1b7c771d3
-rw-r--r--devices/config/oriole.sh47
1 files changed, 47 insertions, 0 deletions
diff --git a/devices/config/oriole.sh b/devices/config/oriole.sh
new file mode 100644
index 00000000..32a3bfc5
--- /dev/null
+++ b/devices/config/oriole.sh
@@ -0,0 +1,47 @@
+#!/bin/bash
+# shellcheck disable=SC2034
+#
+# Copyright (c) 2022, Linaro Ltd.
+# All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Helper script used for setting the Pixel 6 frequency.
+
+readonly DEVICE_NAME="Pixel 6"
+
+readonly NUMBER_OF_CPUS=8
+
+# Define CPU names.
+readonly BIG_CPUS_NAME="x1"
+readonly MIDDLE_CPUS_NAME="a76"
+readonly LITTLE_CPUS_NAME="a55"
+
+# Define CPU frequencies.
+readonly BIG_CPUS_FREQ=1277000
+readonly MIDDLE_CPUS_FREQ=1197000
+readonly LITTLE_CPUS_FREQ=1197000
+
+# Define CPU ID's and embed the name and frequency.
+readonly BIG_CPUS=(${BIG_CPUS_NAME} ${BIG_CPUS_FREQ} 6 7)
+readonly MIDDLE_CPUS=(${MIDDLE_CPUS_NAME} ${MIDDLE_CPUS_FREQ} 4 5)
+readonly LITTLE_CPUS=(${LITTLE_CPUS_NAME} ${LITTLE_CPUS_FREQ} 0 1 2 3)
+
+# Bash does not support 2d arrays so instead store the name of the array and
+# later dereference by using "!" e.g: "arr=(${!CPUS[big]})".
+declare -A -g CPUS
+CPUS[big]="BIG_CPUS[@]"
+CPUS[middle]="MIDDLE_CPUS[@]"
+CPUS[little]="LITTLE_CPUS[@]"
+
+readonly DEFAULT_GOVERNOR=sched_pixel