From f5053f782daa942126bd61ac1bcfc0af627b7b31 Mon Sep 17 00:00:00 2001 From: Omar Al Khatib Date: Thu, 9 May 2024 16:06:23 +0100 Subject: Update logic in the OpenMP scheduler to exclude LITTLE cores On systems with BIG/MID/LITTLE cores, we need to exclude the LITTLE cores. This is make changes to CPUInfo to detect number of LITTLE cores and set the num_threads to TOTAL_CORES-NUM_LITTLE cores Resolves [COMPMID-7014] Signed-off-by: Omar Al Khatib Change-Id: I3e1772e5b64d1c45304860be43233b7e5dd8dba1 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/11565 Reviewed-by: Pablo Marquez Tello Tested-by: Arm Jenkins Comments-Addressed: Arm Jenkins Benchmark: Arm Jenkins --- arm_compute/core/CPP/CPPTypes.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'arm_compute/core/CPP/CPPTypes.h') diff --git a/arm_compute/core/CPP/CPPTypes.h b/arm_compute/core/CPP/CPPTypes.h index 139d630fd7..e5322bdcb1 100644 --- a/arm_compute/core/CPP/CPPTypes.h +++ b/arm_compute/core/CPP/CPPTypes.h @@ -170,6 +170,18 @@ public: * @return Number of CPUs */ unsigned int get_cpu_num() const; + /** Return the maximum number of CPUs present excluding the little cores + * in case of an Android device + * + * @return Number of CPUs excluding little + */ + unsigned int get_cpu_num_excluding_little() const; + /** Return whether the device has little, medium and big CPUs in case + * of an Android device, returns false otherwise + * + * @return Whether the device has little, medium and big CPUs + */ + bool cpu_has_little_mid_big() const; /** Return the vector length in bytes for sme2 * -- cgit v1.2.1