blob: 17f0a9288d54d303d4b43df50d938b28b53052fe [file] [log] [blame]
load(
"//tensorflow:tensorflow.bzl",
"if_oss",
"tf_cuda_library",
)
load("//tensorflow/core/platform:rules_cc.bzl", "cc_library")
package_group(
name = "internal",
packages = [
"//tensorflow/core/runtime_fallback/runtime/...",
],
)
package(
default_visibility = [":internal"],
features = ["-layering_check"],
licenses = ["notice"],
)
cc_library(
name = "op_logger",
hdrs = [
"op_logger.h",
],
visibility = [
# copybara:uncomment "//learning/brain/experimental/tfrt/cpp_tests/saved_model:__subpackages__",
"//tensorflow/core/runtime_fallback:__subpackages__",
"//tensorflow/core/tfrt/eager:__subpackages__",
],
deps = [
"@com_google_absl//absl/memory",
"@llvm-project//llvm:Support",
"@tf_runtime//:hostcontext",
"@tf_runtime//:support",
],
)
tf_cuda_library(
name = "runtime_fallback_alwayslink",
srcs = [
"conversion_function.cc",
"runtime_fallback_batch_kernels.cc",
"runtime_fallback_batch_tf_opkernels.cc",
"runtime_fallback_gpu_allocator.cc",
"runtime_fallback_gpu_allocator.h",
"runtime_fallback_kernels.cc",
"runtime_fallback_op_handler.cc",
"static_registration.cc",
],
hdrs = [
"conversion_function.h",
"runtime_fallback_kernels.h",
"runtime_fallback_op_handler.h",
"runtime_fallback_tensor.h",
],
cuda_deps = [
"//tensorflow/core/common_runtime/gpu:gpu_bfc_allocator",
"//tensorflow/core/common_runtime/gpu:gpu_runtime_impl",
"//tensorflow/core/platform:mutex",
"@tf_runtime//backends/gpu:gpu_config",
"//tensorflow/stream_executor/cuda:cuda_platform",
"@tf_runtime//backends/gpu:gpu_op_handler_alwayslink",
"//tensorflow/core/runtime_fallback/runtime:runtime_fallback_gpu_alwayslink",
],
includes = [
"third_party/tf_runtime/include",
],
visibility = ["//visibility:public"],
deps = [
":op_logger",
":kernel_utils",
":runtime_fallback_tensor",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/synchronization",
"@com_google_absl//absl/types:span",
"@llvm-project//llvm:Support",
"@llvm-project//mlir:Support",
"//tensorflow/core/runtime_fallback/kernel:kernel_fallback_compat_request_state",
"//tensorflow/core/runtime_fallback/kernel:kernel_fallback_execute_compat",
"//tensorflow/core/runtime_fallback/kernel:kernel_fallback_tensor",
"//tensorflow/core/runtime_fallback/util:attr_util",
"//tensorflow/core/runtime_fallback/util:tensor_util",
"//tensorflow/core/runtime_fallback/util:type_util",
"//tensorflow/core/tfrt/runtime:work_queue_interface",
"//tensorflow/core/tfrt/utils:error_util",
"//tensorflow/core/tfrt/utils:tensor_util",
"@tf_runtime//:core_runtime",
"@tf_runtime//:dtype",
"@tf_runtime//:hostcontext",
"@tf_runtime//:support",
"@tf_runtime//:tensor",
"@tf_runtime//backends/cpu:core_runtime",
] + select({
"//tensorflow:android": [
"//tensorflow/core:portable_tensorflow_lib_lite", # TODO(annarev): exclude runtime srcs
],
"//conditions:default": [
"//tensorflow/c:c_api_internal",
"//tensorflow/c:tensor_interface",
"//tensorflow/c:tf_datatype",
"//tensorflow/c:tf_status",
"//tensorflow/c:tf_tensor_internal",
"//tensorflow/c/eager:abstract_operation",
"//tensorflow/c/eager:abstract_tensor_handle",
"//tensorflow/core:framework",
"//tensorflow/core:protos_all_cc",
"//tensorflow/core:session_options",
"//tensorflow/core/common_runtime:core_cpu_impl",
"//tensorflow/core/common_runtime/eager:context",
"//tensorflow/core/common_runtime/eager:execute",
"//tensorflow/core/common_runtime/eager:core", # Needed due to circular dep
"//tensorflow/core/common_runtime/eager:eager_operation",
"//tensorflow/core/common_runtime/eager:tensor_handle",
"//tensorflow/core/framework:node_def_proto_cc",
"//tensorflow/core/framework:tensor",
"//tensorflow/core/platform:errors",
"//tensorflow/core/platform:random",
"//tensorflow/core/platform:status",
"//tensorflow/core/profiler/lib:traceme",
"//tensorflow/core/kernels/batching_util:batch_resource_base",
"//tensorflow/core/kernels/batching_util:bounded_executor",
],
}),
alwayslink = 1,
)
tf_cuda_library(
name = "runtime_fallback_tensor",
srcs = ["runtime_fallback_tensor.cc"],
hdrs = ["runtime_fallback_tensor.h"],
cuda_deps = [
"@tf_runtime//backends/gpu:gpu_config",
"@tf_runtime//backends/gpu:gpu_tensor",
],
visibility = [
":internal",
"//tensorflow/core/runtime_fallback/conversion:__subpackages__",
],
deps = [
":kernel_utils",
"@llvm-project//llvm:Support",
"//tensorflow/core/runtime_fallback/util:tensor_util",
"//tensorflow/core/runtime_fallback/util:type_util",
"@tf_runtime//:dtype",
"@tf_runtime//:hostcontext",
"@tf_runtime//:support",
"@tf_runtime//:tensor",
] + select({
"//tensorflow:android": [
"//tensorflow/core:portable_tensorflow_lib_lite", # TODO(annarev): exclude runtime srcs
],
"//conditions:default": [
"//tensorflow/c:tensor_interface",
"//tensorflow/c:tf_datatype",
"//tensorflow/c:tf_tensor",
"//tensorflow/c:tf_tensor_internal",
"//tensorflow/core:protos_all_cc",
"//tensorflow/core/common_runtime/eager:tensor_handle",
"//tensorflow/core/framework:tensor",
],
}),
)
cc_library(
name = "kernel_utils",
srcs = ["kernel_utils.cc"],
hdrs = ["kernel_utils.h"],
visibility = [
":internal",
# copybara:uncomment "//learning/brain/experimental/tfrt:__subpackages__",
# copybara:uncomment "//learning/brain/mobile/lite/delegates/tfmrt:__subpackages__",
"//tensorflow/compiler/mlir/tfrt/benchmarks:__subpackages__",
"//tensorflow/core/runtime_fallback:__subpackages__",
"//tensorflow/core/tfrt/eager:__subpackages__",
"//tensorflow/core/tfrt/saved_model:__subpackages__",
],
deps = [
"@com_google_absl//absl/strings",
"@llvm-project//llvm:Support",
"@tf_runtime//:core_runtime",
"@tf_runtime//:dtype",
"@tf_runtime//:hostcontext",
"@tf_runtime//:support",
"@tf_runtime//:tensor",
] + select({
"//tensorflow:android": [
"//tensorflow/core:portable_tensorflow_lib_lite", # TODO(annarev): exclude runtime srcs
],
"//conditions:default": [
"//tensorflow/c:tf_tensor",
"//tensorflow/core/common_runtime:device_mgr",
"//tensorflow/core/common_runtime/eager:context_distributed_manager",
"//tensorflow/core:protos_all_cc",
"//tensorflow/core:session_options",
"//tensorflow/core/common_runtime/eager:context",
"//tensorflow/core/common_runtime/eager:eager_operation",
"//tensorflow/core/common_runtime/eager:tensor_handle",
"//tensorflow/core/platform:status",
],
}),
)
tf_cuda_library(
name = "runtime_fallback_gpu_alwayslink",
srcs = [
"gpu/conversion_function.cc",
"gpu/static_registration.cc",
],
hdrs = [
"gpu/conversion_function.h",
],
compatible_with = [],
# Only build this library with --config=cuda.
tags = [
"no_oss",
"requires_cuda",
] + if_oss(["manual"]),
visibility = ["//visibility:public"],
deps = [
":kernel_utils",
":op_logger",
":runtime_fallback_tensor",
"@com_google_absl//absl/strings",
"//tensorflow/core/runtime_fallback/util:attr_util",
"//tensorflow/core/runtime_fallback/util:gpu_util",
"//tensorflow/core/runtime_fallback/util:type_util",
"@tf_runtime//:hostcontext",
"@tf_runtime//:tensor",
"@tf_runtime//backends/gpu:gpu_config",
"@tf_runtime//backends/gpu:gpu_device",
"@tf_runtime//backends/gpu:gpu_op_handler_alwayslink",
"@tf_runtime//backends/gpu:gpu_tensor",
] + select({
"//tensorflow:android": [
"//tensorflow/core:portable_tensorflow_lib_lite", # TODO(annarev): exclude runtime srcs
],
"//conditions:default": [
"//tensorflow/core:protos_all_cc",
"//tensorflow/core/common_runtime/eager:tensor_handle",
],
}),
alwayslink = 1,
)