• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1load("//tensorflow/lite:special_rules.bzl", "tflite_portable_test_suite")
2load("//tensorflow:tensorflow.bzl", "get_compatible_with_portable")
3
4package(
5    default_visibility = [
6        "//visibility:public",
7    ],
8    licenses = ["notice"],
9)
10
11# Client of this library is responsible to provide an implementation of
12# for headers in //third_party/tensorflow/lite/nnapi:nnapi_implementation_headers
13cc_library(
14    name = "nnapi_delegate_no_nnapi_implementation",
15    srcs = select({
16        "//tensorflow:ios": [
17            "nnapi_delegate_disabled.cc",
18        ],
19        "//tensorflow:windows": [
20            "nnapi_delegate_disabled.cc",
21        ],
22        "//conditions:default": [
23            "nnapi_delegate.cc",
24            "quant_lstm_sup.h",
25            "quant_lstm_sup.cc",
26        ],
27    }),
28    hdrs = [
29        "nnapi_delegate.h",
30        "nnapi_delegate_kernel.h",
31    ],
32    compatible_with = get_compatible_with_portable(),
33    deps = [
34        "//tensorflow/lite:allocation",
35        "//tensorflow/lite:kernel_api",
36        "//tensorflow/lite:minimal_logging",
37        "//tensorflow/lite:util",
38        "//tensorflow/lite/c:c_api_types",
39        "//tensorflow/lite/c:common",
40        "//tensorflow/lite/delegates:serialization",
41        "//tensorflow/lite/delegates:utils",
42        "//tensorflow/lite/kernels:kernel_util",
43        "//tensorflow/lite/nnapi:nnapi_implementation_headers",
44        "//tensorflow/lite/nnapi:nnapi_lib",
45        "//tensorflow/lite/nnapi:nnapi_util",
46        "//tensorflow/lite/nnapi/sl:nnapi_support_library_headers",
47        "//tensorflow/lite/schema:schema_fbs",
48        "//tensorflow/lite/tools/optimize/sparsity:format_converter",
49        "@FP16",
50        "@farmhash_archive//:farmhash",
51    ],
52)
53
54cc_library(
55    name = "nnapi_delegate",
56    hdrs = [
57        "nnapi_delegate.h",
58        "nnapi_delegate_kernel.h",
59    ],
60    compatible_with = get_compatible_with_portable(),
61    deps = [
62        ":nnapi_delegate_no_nnapi_implementation",
63        "//tensorflow/lite:allocation",
64        "//tensorflow/lite/c:common",
65        "//tensorflow/lite/delegates:serialization",
66        "//tensorflow/lite/nnapi:nnapi_implementation",
67        "//tensorflow/lite/nnapi:nnapi_lib",
68        "@FP16",
69    ],
70)
71
72cc_library(
73    name = "nnapi_delegate_verbose_validation",
74    srcs = select({
75        "//tensorflow:ios": [
76            "nnapi_delegate_disabled.cc",
77        ],
78        "//tensorflow:windows": [
79            "nnapi_delegate_disabled.cc",
80        ],
81        "//conditions:default": [
82            "nnapi_delegate.cc",
83            "quant_lstm_sup.h",
84            "quant_lstm_sup.cc",
85        ],
86    }),
87    hdrs = [
88        "nnapi_delegate.h",
89        "nnapi_delegate_kernel.h",
90    ],
91    copts = ["-DNNAPI_VERBOSE_VALIDATION"],
92    deps = [
93        "//tensorflow/lite:allocation",
94        "//tensorflow/lite:kernel_api",
95        "//tensorflow/lite:minimal_logging",
96        "//tensorflow/lite:util",
97        "//tensorflow/lite/c:c_api_types",
98        "//tensorflow/lite/c:common",
99        "//tensorflow/lite/delegates:serialization",
100        "//tensorflow/lite/delegates:utils",
101        "//tensorflow/lite/kernels:kernel_util",
102        "//tensorflow/lite/nnapi:nnapi_implementation",
103        "//tensorflow/lite/nnapi:nnapi_lib",
104        "//tensorflow/lite/nnapi:nnapi_util",
105        "//tensorflow/lite/nnapi/sl:nnapi_support_library_headers",
106        "//tensorflow/lite/schema:schema_fbs",
107        "//tensorflow/lite/tools/optimize/sparsity:format_converter",
108        "@FP16",
109        "@farmhash_archive//:farmhash",
110    ],
111)
112
113cc_library(
114    name = "acceleration_test_util",
115    testonly = 1,
116    srcs = [
117        "acceleration_test_list.cc",
118        "acceleration_test_util.cc",
119    ],
120    hdrs = ["acceleration_test_util.h"],
121    deps = [
122        ":nnapi_delegate",
123        "//tensorflow/lite/kernels:acceleration_test_util_internal",
124        "@com_google_absl//absl/types:optional",
125        "@com_google_googletest//:gtest",
126    ],
127)
128
129cc_library(
130    name = "nnapi_delegate_mock_test",
131    testonly = 1,
132    hdrs = [
133        "nnapi_delegate_mock_test.h",
134    ],
135    copts = select({
136        "//tensorflow:ios": [
137            "-DNNAPI_DELEGATE_DISABLED",
138        ],
139        "//tensorflow:windows": [
140            "-DNNAPI_DELEGATE_DISABLED",
141        ],
142        "//conditions:default": [],
143    }),
144    deps = [
145        ":nnapi_delegate",
146        "//tensorflow/lite/nnapi:nnapi_handler",
147        "//tensorflow/lite/nnapi:nnapi_implementation",
148        "//tensorflow/lite/nnapi:nnapi_lib",
149        "@com_google_absl//absl/memory",
150        "@com_google_googletest//:gtest",
151    ],
152)
153
154cc_test(
155    name = "nnapi_delegate_test",
156    size = "small",
157    srcs = [
158        "nnapi_delegate_test.cc",
159    ],
160    tags = [
161        "no_windows",
162        "tflite_not_portable_ios",
163    ],
164    deps = [
165        ":nnapi_delegate",
166        ":nnapi_delegate_mock_test",
167        "//tensorflow/lite:framework",
168        "//tensorflow/lite/c:common",
169        "//tensorflow/lite/kernels:deprecated_backends",
170        "//tensorflow/lite/kernels:test_util",
171        "//tensorflow/lite/nnapi:nnapi_implementation",
172        "//tensorflow/lite/nnapi:nnapi_lib",
173        "@com_google_googletest//:gtest_main",
174    ],
175)
176
177cc_test(
178    name = "nnapi_delegate_errno_test",
179    size = "small",
180    srcs = [
181        "nnapi_delegate_errno_test.cc",
182    ],
183    tags = [
184        "no_mac",
185        "no_windows",
186        "tflite_not_portable_ios",
187    ],
188    deps = [
189        ":nnapi_delegate",
190        ":nnapi_delegate_mock_test",
191        "//tensorflow/lite:framework",
192        "//tensorflow/lite/c:common",
193        "//tensorflow/lite/kernels:test_util",
194        "//tensorflow/lite/nnapi:nnapi_implementation",
195        "//tensorflow/lite/nnapi:nnapi_lib",
196        "@com_google_googletest//:gtest_main",
197    ],
198)
199
200cc_test(
201    name = "nnapi_delegate_device_selection_test",
202    size = "small",
203    srcs = [
204        "nnapi_delegate_device_selection_test.cc",
205    ],
206    tags = [
207        "no_mac",
208        "no_windows",
209        "tflite_not_portable_ios",
210    ],
211    deps = [
212        ":nnapi_delegate",
213        ":nnapi_delegate_mock_test",
214        "//tensorflow/lite:framework",
215        "//tensorflow/lite:kernel_api",
216        "//tensorflow/lite/c:common",
217        "//tensorflow/lite/kernels:test_util",
218        "//tensorflow/lite/nnapi:nnapi_implementation",
219        "//tensorflow/lite/nnapi:nnapi_lib",
220        "@com_google_googletest//:gtest_main",
221    ],
222)
223
224cc_test(
225    name = "nnapi_delegate_nnapi_failure_handling_test",
226    size = "small",
227    srcs = [
228        "nnapi_delegate_nnapi_failure_handling_test.cc",
229    ],
230    tags = [
231        "no_mac",
232        "no_windows",
233        "tflite_not_portable_ios",
234    ],
235    deps = [
236        ":nnapi_delegate",
237        ":nnapi_delegate_mock_test",
238        "//tensorflow/lite:framework",
239        "//tensorflow/lite:kernel_api",
240        "//tensorflow/lite/c:common",
241        "//tensorflow/lite/kernels:test_util",
242        "//tensorflow/lite/nnapi:nnapi_implementation",
243        "//tensorflow/lite/nnapi:nnapi_lib",
244        "@com_google_googletest//:gtest_main",
245    ],
246)
247
248cc_test(
249    name = "nnapi_delegate_signed_quantization_test",
250    size = "small",
251    srcs = [
252        "nnapi_delegate_signed_quantization_test.cc",
253    ],
254    tags = [
255        "no_mac",
256        "no_windows",
257        "tflite_not_portable_ios",
258    ],
259    deps = [
260        ":nnapi_delegate",
261        ":nnapi_delegate_mock_test",
262        "//tensorflow/lite:framework",
263        "//tensorflow/lite:kernel_api",
264        "//tensorflow/lite/c:common",
265        "//tensorflow/lite/kernels:builtin_ops",
266        "//tensorflow/lite/kernels:test_util",
267        "//tensorflow/lite/nnapi:nnapi_implementation",
268        "//tensorflow/lite/nnapi:nnapi_lib",
269        "@com_google_googletest//:gtest_main",
270    ],
271)
272
273cc_test(
274    name = "quant_lstm_sup_test",
275    size = "small",
276    srcs = [
277        "quant_lstm_sup.cc",
278        "quant_lstm_sup.h",
279        "quant_lstm_sup_test.cc",
280    ],
281    deps = [
282        ":nnapi_delegate",
283        "//tensorflow/lite:framework",
284        "//tensorflow/lite/c:common",
285        "//tensorflow/lite/kernels:kernel_util",
286        "//tensorflow/lite/testing:util",
287        "@com_google_googletest//:gtest_main",
288    ],
289)
290
291tflite_portable_test_suite()
292