| load("@org_tensorflow//tensorflow:tensorflow.bzl", "get_compatible_with_portable") |
| load("@org_tensorflow//tensorflow/lite:build_def.bzl", "tflite_cc_shared_object", "tflite_copts") |
| load("@org_tensorflow//tensorflow/lite:special_rules.bzl", "internal_visibility_allowlist") |
| load("@org_tensorflow//tensorflow/lite/core/shims:cc_library_with_tflite.bzl", "cc_library_with_tflite") |
| load("@rules_cc//cc:defs.bzl", "cc_binary") |
| |
| package( |
| default_visibility = ["//visibility:public"], |
| licenses = ["notice"], |
| ) |
| |
| exports_files(["settings.json"]) |
| |
| cc_library_with_tflite( |
| name = "log", |
| hdrs = ["log.h"], |
| deps = [ |
| "//common:log", |
| ], |
| ) |
| |
| cc_library_with_tflite( |
| name = "openvino_async_kernel", |
| srcs = ["openvino_async_kernel.cc"], |
| hdrs = ["openvino_async_kernel.h"], |
| copts = tflite_copts(), |
| deps = [ |
| ":openvino_delegate_kernel", |
| "//android:hardware_buffer", |
| "@com_google_absl//absl/synchronization", |
| "@org_tensorflow//tensorflow/lite/async:backend_async_kernel_interface", |
| "@org_tensorflow//tensorflow/lite/async/c:async_kernel", |
| "@org_tensorflow//tensorflow/lite/async/c:types", |
| "@org_tensorflow//tensorflow/lite/async/interop/c:attribute_map", |
| "@org_tensorflow//tensorflow/lite/core/async/c:task", |
| "@org_tensorflow//tensorflow/lite/core/async/interop/c:constants", |
| "@org_tensorflow//tensorflow/lite/delegates/utils:async_type_helpers", |
| ], |
| ) |
| |
| cc_library_with_tflite( |
| name = "openvino_graph_builder", |
| srcs = ["openvino_graph_builder.cc"], |
| hdrs = ["openvino_graph_builder.h"], |
| copts = tflite_copts(), |
| deps = [ |
| ":log", |
| "@cros_tflite//delegate/intel_openvino/operations:operations_base", |
| "@intel_openvino//:openvino", |
| "@org_tensorflow//tensorflow/lite:kernel_api", |
| "@org_tensorflow//tensorflow/lite/c:c_api", |
| "@org_tensorflow//tensorflow/lite/c:c_api_experimental", |
| "@org_tensorflow//tensorflow/lite/c:c_api_types", |
| "@org_tensorflow//tensorflow/lite/c:common", |
| "@org_tensorflow//tensorflow/lite/kernels:builtin_ops", |
| "@org_tensorflow//tensorflow/lite/kernels:kernel_util", |
| ], |
| ) |
| |
| cc_library_with_tflite( |
| name = "openvino_delegate_core", |
| srcs = ["openvino_delegate_core.cc"], |
| hdrs = [ |
| "openvino_delegate.h", |
| "openvino_delegate_core.h", |
| ], |
| copts = tflite_copts(), |
| deps = [ |
| ":log", |
| ":openvino_graph_builder", |
| "//common:simple_async_delegate", |
| "@intel_openvino//:openvino", |
| "@org_tensorflow//tensorflow/lite:kernel_api", |
| "@org_tensorflow//tensorflow/lite/c:c_api", |
| "@org_tensorflow//tensorflow/lite/c:c_api_experimental", |
| "@org_tensorflow//tensorflow/lite/c:c_api_types", |
| "@org_tensorflow//tensorflow/lite/c:common", |
| "@org_tensorflow//tensorflow/lite/delegates/utils:simple_opaque_delegate", |
| "@org_tensorflow//tensorflow/lite/kernels:kernel_util", |
| ], |
| ) |
| |
| cc_library_with_tflite( |
| name = "openvino_delegate_kernel", |
| srcs = ["openvino_delegate_kernel.cc"], |
| hdrs = [ |
| "openvino_async_kernel.h", |
| "openvino_delegate.h", |
| "openvino_delegate_kernel.h", |
| ], |
| copts = tflite_copts(), |
| deps = [ |
| ":log", |
| ":openvino_delegate_core", |
| "//android:hardware_buffer", |
| "@com_google_absl//absl/synchronization", |
| "@intel_openvino//:openvino", |
| "@org_tensorflow//tensorflow/lite:kernel_api", |
| "@org_tensorflow//tensorflow/lite/async:backend_async_kernel_interface", |
| "@org_tensorflow//tensorflow/lite/async/c:async_kernel", |
| "@org_tensorflow//tensorflow/lite/async/interop/c:attribute_map", |
| "@org_tensorflow//tensorflow/lite/async/interop/c:types", |
| "@org_tensorflow//tensorflow/lite/c:c_api", |
| "@org_tensorflow//tensorflow/lite/c:c_api_experimental", |
| "@org_tensorflow//tensorflow/lite/c:c_api_types", |
| "@org_tensorflow//tensorflow/lite/c:common", |
| "@org_tensorflow//tensorflow/lite/core/async/c:task", |
| "@org_tensorflow//tensorflow/lite/core/async/interop/c:constants", |
| "@org_tensorflow//tensorflow/lite/delegates/utils:async_type_helpers", |
| "@org_tensorflow//tensorflow/lite/delegates/utils:simple_delegate", |
| "@org_tensorflow//tensorflow/lite/delegates/utils:simple_opaque_delegate", |
| "@org_tensorflow//tensorflow/lite/delegates/utils:sync_fence", |
| "@org_tensorflow//tensorflow/lite/kernels:kernel_util", |
| ], |
| ) |
| |
| cc_library_with_tflite( |
| name = "openvino_delegate", |
| srcs = ["openvino_delegate.cc"], |
| hdrs = ["openvino_delegate.h"], |
| copts = tflite_copts(), |
| deps = [ |
| ":log", |
| ":openvino_async_kernel", |
| ":openvino_delegate_kernel", |
| "//android:hardware_buffer", |
| "@intel_openvino//:openvino", |
| "@org_tensorflow//tensorflow/lite:kernel_api", |
| "@org_tensorflow//tensorflow/lite/c:c_api", |
| "@org_tensorflow//tensorflow/lite/c:c_api_experimental", |
| "@org_tensorflow//tensorflow/lite/c:c_api_types", |
| "@org_tensorflow//tensorflow/lite/c:common", |
| "@org_tensorflow//tensorflow/lite/core/async/c:async_kernel", |
| "@org_tensorflow//tensorflow/lite/core/async/interop/c:constants", |
| "@org_tensorflow//tensorflow/lite/delegates/utils:async_type_helpers", |
| "@org_tensorflow//tensorflow/lite/delegates/utils:simple_opaque_delegate", |
| "@org_tensorflow//tensorflow/lite/kernels:builtin_ops", |
| "@org_tensorflow//tensorflow/lite/kernels:padding", |
| "@org_tensorflow//tensorflow/lite/kernels/internal:compatibility", |
| "@org_tensorflow//tensorflow/lite/kernels/internal:tensor", |
| ], |
| ) |
| |
| cc_library_with_tflite( |
| name = "openvino_delegate_external", |
| srcs = [ |
| "openvino_delegate_external.cc", |
| ], |
| copts = tflite_copts() + ["-fexceptions"], |
| deps = [ |
| ":log", |
| ":openvino_delegate", |
| "//common:simple_async_delegate", |
| "@org_tensorflow//tensorflow/lite/acceleration/configuration/c:delegate_plugin", |
| "@org_tensorflow//tensorflow/lite/acceleration/configuration/c:stable_delegate", |
| "@org_tensorflow//tensorflow/lite/c:c_api", |
| "@org_tensorflow//tensorflow/lite/c:c_api_experimental", |
| "@org_tensorflow//tensorflow/lite/c:c_api_types", |
| "@org_tensorflow//tensorflow/lite/c:common", |
| "@org_tensorflow//tensorflow/lite/delegates/external:external_delegate_interface", |
| "@org_tensorflow//tensorflow/lite/delegates/utils:simple_opaque_delegate", |
| "@org_tensorflow//tensorflow/lite/delegates/utils/experimental/stable_delegate:delegate_loader", |
| "@org_tensorflow//tensorflow/lite/delegates/utils/experimental/stable_delegate:stable_delegate_interface", |
| ], |
| ) |
| |
| tflite_cc_shared_object( |
| name = "tensorflowlite_intel_openvino_delegate", |
| srcs = ["//android:libnativewindow.so"], |
| linkopts = [ |
| "-Wl,--no-undefined", |
| "-Wl,--version-script,$(location @org_tensorflow//tensorflow/lite/delegates/utils/experimental/stable_delegate:version_script.lds)", |
| ], |
| per_os_targets = True, |
| visibility = ["//:__pkg__"], |
| deps = [ |
| ":openvino_async_kernel", |
| ":openvino_delegate_external", |
| "@org_tensorflow//tensorflow/lite/delegates/utils/experimental/stable_delegate:version_script.lds", |
| ], |
| ) |
| |
| cc_binary( |
| name = "openvino_delegate_core_test", |
| testonly = True, |
| srcs = [ |
| "openvino_delegate_core_test.cc", |
| "//android:libnativewindow.so", |
| ], |
| copts = tflite_copts(), |
| data = [ |
| ":tensorflowlite_intel_openvino_delegate", |
| "@org_tensorflow//tensorflow/lite:testdata/add.bin", |
| ], |
| deps = [ |
| ":openvino_delegate_core", |
| "@com_google_googletest//:gtest_main", |
| "@org_tensorflow//tensorflow/lite/delegates/utils/experimental/stable_delegate:tflite_settings_json_parser", |
| ], |
| ) |
| |
| cc_library_with_tflite( |
| name = "openvino_delegate_hdrs_only", |
| hdrs = ["openvino_delegate.h"], |
| compatible_with = get_compatible_with_portable(), |
| visibility = internal_visibility_allowlist(), |
| deps = [ |
| "@org_tensorflow//tensorflow/lite/c:common", |
| ], |
| ) |
| |
| cc_binary( |
| name = "openvino_graph_builder_test", |
| testonly = True, |
| srcs = ["openvino_graph_builder_test.cc"], |
| copts = tflite_copts(), |
| data = [ |
| ":tensorflowlite_intel_openvino_delegate", |
| "@org_tensorflow//tensorflow/lite:testdata/add.bin", |
| ], |
| deps = [ |
| ":openvino_graph_builder", |
| "@com_google_googletest//:gtest_main", |
| "@org_tensorflow//tensorflow/lite/delegates/utils/experimental/stable_delegate:tflite_settings_json_parser", |
| ], |
| ) |
| |
| cc_binary( |
| name = "openvino_delegate_test", |
| testonly = True, |
| srcs = [ |
| "openvino_delegate_test.cc", |
| "//android:libnativewindow.so", |
| ], |
| copts = tflite_copts(), |
| data = [ |
| ":tensorflowlite_intel_openvino_delegate", |
| "@org_tensorflow//tensorflow/lite:testdata/add.bin", |
| ], |
| deps = [ |
| ":openvino_delegate", |
| "@com_google_googletest//:gtest_main", |
| "@org_tensorflow//tensorflow/lite/c:c_api", |
| "@org_tensorflow//tensorflow/lite/delegates/utils/experimental/stable_delegate:delegate_loader", |
| "@org_tensorflow//tensorflow/lite/delegates/utils/experimental/stable_delegate:tflite_settings_json_parser", |
| ], |
| ) |
| |
| cc_binary( |
| name = "openvino_smoke_test", |
| testonly = True, |
| srcs = ["openvino_smoke_test.cc"], |
| copts = tflite_copts(), |
| deps = [ |
| "@com_google_googletest//:gtest", |
| "@intel_openvino//:openvino", |
| ], |
| ) |
| |
| filegroup( |
| name = "openvino_delegate_tests", |
| testonly = True, |
| srcs = [ |
| "openvino_delegate_core_test", |
| "openvino_delegate_external_test", |
| "openvino_delegate_test", |
| "openvino_graph_builder_test", |
| "openvino_smoke_test", |
| ], |
| ) |