diff options
author | David Svantesson <david.svantesson@arm.com> | 2023-08-02 14:23:00 +0000 |
---|---|---|
committer | David Svantesson <david.svantesson-yeung@arm.com> | 2023-11-24 15:03:05 +0000 |
commit | ded5b182675e3166e947a8eb637b5b1e925816ab (patch) | |
tree | c7bc082e7e8d80f0d33c69fc903be9dcb342e7f3 /BUILD.bazel | |
parent | e30c8740d2da7af52ae1320f4d597ffc73d41c5e (diff) | |
download | ComputeLibrary-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.bazel | 16 |
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"], ) |