aboutsummaryrefslogtreecommitdiff
path: root/BUILD.bazel
diff options
context:
space:
mode:
authorDavid Svantesson <david.svantesson@arm.com>2023-08-02 14:23:00 +0000
committerDavid Svantesson <david.svantesson-yeung@arm.com>2023-11-24 15:03:05 +0000
commitded5b182675e3166e947a8eb637b5b1e925816ab (patch)
treec7bc082e7e8d80f0d33c69fc903be9dcb342e7f3 /BUILD.bazel
parente30c8740d2da7af52ae1320f4d597ffc73d41c5e (diff)
downloadComputeLibrary-ded5b182675e3166e947a8eb637b5b1e925816ab.tar.gz
thread_local _custom_scheduler
Resolves ONCPUML-1331 This patch adds an option to make _custom_scheduler thread_local to support usage of multiple schedulers handled outside of ACL. It also adds num_threads() function to Scheduler which reverts to querying CPUInfo if no scheduler has been set. Change-Id: Iff706165d8d091895331a5bb3a76f6cabe048912 Signed-off-by: David Svantesson-Yeung <david.svantesson-yeung@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/10748 Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: SiCong Li <sicong.li@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Benchmark: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'BUILD.bazel')
-rw-r--r--BUILD.bazel16
1 files changed, 16 insertions, 0 deletions
diff --git a/BUILD.bazel b/BUILD.bazel
index 3a7d941a0e..50340c6c39 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -78,6 +78,12 @@ bool_flag(
visibility = ["//visibility:public"],
)
+bool_flag(
+ name = "thread_local_scheduler",
+ build_setting_default = False,
+ visibility = ["//visibility:public"],
+)
+
string_flag(
name = "arch",
build_setting_default = "armv8-a",
@@ -152,6 +158,12 @@ config_setting(
}
)
+config_setting(
+ name = "thread_local_scheduler_flag",
+ flag_values = {
+ ":thread_local_scheduler": "true",
+ },
+)
#---------------------------------------------------------------------
# Common defines used for all targets
@@ -196,6 +208,10 @@ cc_library(
"//:arch_armv8-a": [],
"//:arch_armv8.2-a+fp16": ["ENABLE_FP16_KERNELS", "ARM_COMPUTE_ENABLE_FP16"],
"//conditions:default": [],
+ }) +
+ select({
+ "//:thread_local_scheduler_flag": ["ARM_COMPUTE_THREAD_LOCAL_SCHEDULER"],
+ "//conditions:default": [],
}),
visibility = ["//visibility:public"],
)