From 970ecbb3b949a2706e156abf716b61e9ec5daf56 Mon Sep 17 00:00:00 2001 From: Chris Jones Date: Thu, 10 Feb 2022 12:30:53 +0000 Subject: 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 --- devices/config/oriole.sh | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 devices/config/oriole.sh 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 -- cgit v1.2.3