blob: 463f28598db2b2de5bc79c9a81ffc27a51319bfa [file] [edit]
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",
],
)