Skip to content

Commit ce593cf

Browse files
authored
xtensa: Add more flexible way of selecting optimized kernels (#2240)
Use the `optimized_kernel` flag to select a particular set of kernels instead of using the global --cpu flag to determine this. This makes the build compatible with cores other than the specific test ones used before. BUG=None
1 parent 5beca9a commit ce593cf

File tree

1 file changed

+25
-8
lines changed
  • tensorflow/lite/micro/kernels

1 file changed

+25
-8
lines changed

tensorflow/lite/micro/kernels/BUILD

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
load("@bazel_skylib//rules:common_settings.bzl", "string_flag")
12
load("//tensorflow/lite/micro:build_def.bzl", "micro_copts", "tflm_kernel_cc_library")
23
load(
34
"//tensorflow:extra_rules.bzl",
@@ -1452,30 +1453,46 @@ cc_test(
14521453
# Bazel config settings.
14531454
####################################
14541455

1456+
# Command line flag to select which set of optimized kernels to use.
1457+
# Each value should have a `config_setting` which is selected on in the
1458+
# `micro_ops` target to pickup optimized kernel sources. An empty value
1459+
# indicates only reference kernels should be used.
1460+
string_flag(
1461+
name = "optimized_kernels",
1462+
build_setting_default = "",
1463+
values = [
1464+
"",
1465+
"xtensa_fusion_f1",
1466+
"xtensa_hifi_3z",
1467+
"xtensa_hifi_5",
1468+
"xtensa_vision_p6",
1469+
],
1470+
)
1471+
14551472
config_setting(
14561473
name = "xtensa_fusion_f1_default",
1457-
values = {
1458-
"cpu": "F1_190305_swupgrade",
1474+
flag_values = {
1475+
":optimized_kernels": "xtensa_fusion_f1",
14591476
},
14601477
)
14611478

14621479
config_setting(
14631480
name = "xtensa_hifi_3z_default",
1464-
values = {
1465-
"cpu": "HIFI_190304_swupgrade",
1481+
flag_values = {
1482+
":optimized_kernels": "xtensa_hifi_3z",
14661483
},
14671484
)
14681485

14691486
config_setting(
14701487
name = "xtensa_hifi_5_default",
1471-
values = {
1472-
"cpu": "AE_HiFi5_LE5_AO_FP_XC",
1488+
flag_values = {
1489+
":optimized_kernels": "xtensa_hifi_5",
14731490
},
14741491
)
14751492

14761493
config_setting(
14771494
name = "xtensa_vision_p6_default",
1478-
values = {
1479-
"cpu": "P6_200528",
1495+
flag_values = {
1496+
":optimized_kernels": "xtensa_vision_p6",
14801497
},
14811498
)

0 commit comments

Comments
 (0)