| licenses(["notice"]) # Apache 2.0 |
| |
| package(default_visibility = ["//tensorflow:internal"]) |
| |
| package_group( |
| name = "friends", |
| packages = [ |
| "//tensorflow/compiler/...", |
| "//tensorflow/contrib/tpu/...", |
| ], |
| ) |
| |
| package_group( |
| name = "internal", |
| packages = [ |
| "//tensorflow/compiler/xla/...", |
| ], |
| ) |
| |
| load("//tensorflow:tensorflow.bzl", "cc_header_only_library") |
| load("//tensorflow:tensorflow.bzl", "tf_cc_test") |
| load("//tensorflow/compiler/xla:xla.bzl", "xla_proto_library") |
| load( |
| "//tensorflow/core:platform/default/build_config.bzl", |
| "tf_proto_library_py", |
| ) |
| |
| # Filegroup used to collect source files for dependency checking. |
| filegroup( |
| name = "c_srcs", |
| data = glob([ |
| "**/*.cc", |
| "**/*.h", |
| ]), |
| ) |
| |
| xla_proto_library( |
| name = "xla_data_proto", |
| srcs = ["xla_data.proto"], |
| visibility = ["//visibility:public"], |
| ) |
| |
| tf_proto_library_py( |
| name = "xla_data_proto", # bzl adds a _py suffix |
| srcs = ["xla_data.proto"], |
| visibility = ["//visibility:public"], |
| ) |
| |
| xla_proto_library( |
| name = "xla_proto", |
| srcs = ["xla.proto"], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":xla_data_proto", |
| "//tensorflow/compiler/xla/service:hlo_proto", |
| ], |
| ) |
| |
| cc_library( |
| name = "execution_options_util", |
| srcs = [ |
| "execution_options_util.cc", |
| ], |
| hdrs = [ |
| "execution_options_util.h", |
| ], |
| visibility = [":friends"], |
| deps = [ |
| ":xla_proto", |
| "//tensorflow/compiler/xla/legacy_flags:debug_options_flags", |
| ], |
| ) |
| |
| cc_library( |
| name = "test", |
| testonly = 1, |
| hdrs = ["test.h"], |
| visibility = [":friends"], |
| deps = [ |
| "//tensorflow/core:lib_internal", |
| "//tensorflow/core:test", |
| ], |
| ) |
| |
| cc_library( |
| name = "types", |
| hdrs = ["types.h"], |
| visibility = [":friends"], |
| deps = [ |
| "//tensorflow/core:framework_lite", |
| "//third_party/eigen3", |
| ], |
| ) |
| |
| cc_library( |
| name = "service_interface", |
| srcs = [], |
| hdrs = ["service_interface.h"], |
| visibility = [":friends"], |
| deps = [ |
| ":status", |
| ":xla_data_proto", |
| ":xla_proto", |
| ], |
| ) |
| |
| cc_library( |
| name = "status_macros", |
| srcs = ["status_macros.cc"], |
| hdrs = ["status_macros.h"], |
| visibility = [":friends"], |
| deps = [ |
| ":statusor", |
| ":types", |
| "//tensorflow/core:lib", |
| "@com_google_absl//absl/strings", |
| ], |
| ) |
| |
| tf_cc_test( |
| name = "status_macros_test", |
| size = "small", |
| srcs = ["status_macros_test.cc"], |
| deps = [ |
| ":status_macros", |
| ":statusor", |
| ":test", |
| ":test_helpers", |
| "//tensorflow/core:lib", |
| "//tensorflow/core:test_main", |
| ], |
| ) |
| |
| cc_library( |
| name = "status", |
| hdrs = ["status.h"], |
| visibility = ["//visibility:public"], |
| deps = [ |
| "//tensorflow/core:lib", |
| "//tensorflow/core:lib_internal", |
| ], |
| ) |
| |
| cc_library( |
| name = "statusor", |
| hdrs = [ |
| "statusor.h", |
| ], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":status", |
| "//tensorflow/core:lib", |
| "//tensorflow/core:lib_internal", |
| "//tensorflow/stream_executor", |
| ], |
| ) |
| |
| cc_library( |
| name = "util", |
| srcs = ["util.cc"], |
| hdrs = [ |
| "iterator_util.h", |
| "map_util.h", |
| "overflow_util.h", |
| "util.h", |
| ], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":status", |
| ":status_macros", |
| ":statusor", |
| ":types", |
| ":xla_data_proto", |
| "//tensorflow/core:lib", |
| "@com_google_absl//absl/algorithm:container", |
| "@com_google_absl//absl/container:inlined_vector", |
| "@com_google_absl//absl/strings", |
| "@com_google_absl//absl/strings:str_format", |
| "@com_google_absl//absl/types:span", |
| ], |
| ) |
| |
| cc_library( |
| name = "protobuf_util", |
| srcs = ["protobuf_util.cc"], |
| hdrs = [ |
| "protobuf_util.h", |
| ], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":status_macros", |
| ":statusor", |
| ":types", |
| ":util", |
| "//tensorflow/core:lib", |
| "@com_google_absl//absl/synchronization", |
| ], |
| ) |
| |
| tf_cc_test( |
| name = "util_test", |
| srcs = ["util_test.cc"], |
| deps = [ |
| ":test", |
| ":types", |
| ":util", |
| "//tensorflow/core:test_main", |
| ], |
| ) |
| |
| tf_cc_test( |
| name = "iterator_util_test", |
| srcs = ["iterator_util_test.cc"], |
| deps = [ |
| ":test", |
| ":util", |
| "//tensorflow/core:test_main", |
| "@com_google_absl//absl/memory", |
| ], |
| ) |
| |
| cc_library( |
| name = "shape_util", |
| srcs = [ |
| "index_util.cc", |
| "layout_util.cc", |
| "primitive_util.cc", |
| "shape_util.cc", |
| ], |
| hdrs = [ |
| "index_util.h", |
| "layout_util.h", |
| "primitive_util.h", |
| "shape_util.h", |
| ], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":protobuf_util", |
| ":status", |
| ":status_macros", |
| ":statusor", |
| ":types", |
| ":util", |
| ":xla_data_proto", |
| "//tensorflow/core:lib", |
| "//tensorflow/core:lib_internal", |
| "//tensorflow/core:regexp_internal", |
| "@com_google_absl//absl/base:core_headers", |
| "@com_google_absl//absl/container:inlined_vector", |
| "@com_google_absl//absl/strings", |
| "@com_google_absl//absl/types:optional", |
| "@com_google_absl//absl/types:span", |
| ], |
| ) |
| |
| tf_cc_test( |
| name = "shape_util_test", |
| srcs = ["shape_util_test.cc"], |
| deps = [ |
| ":shape_util", |
| ":status_macros", |
| ":test", |
| ":test_helpers", |
| ":types", |
| ":util", |
| ":xla_data_proto", |
| "//tensorflow/core:lib", |
| "//tensorflow/core:test_main", |
| "@com_google_absl//absl/strings", |
| ], |
| ) |
| |
| tf_cc_test( |
| name = "layout_util_test", |
| srcs = ["layout_util_test.cc"], |
| deps = [ |
| ":shape_util", |
| ":test", |
| ":test_helpers", |
| "//tensorflow/core:test_main", |
| ], |
| ) |
| |
| tf_cc_test( |
| name = "index_util_test", |
| srcs = ["index_util_test.cc"], |
| deps = [ |
| ":shape_util", |
| ":test", |
| ":xla_data_proto", |
| "//tensorflow/core:test_main", |
| ], |
| ) |
| |
| cc_library( |
| name = "literal", |
| srcs = ["literal.cc"], |
| hdrs = ["literal.h"], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":array2d", |
| ":array3d", |
| ":array4d", |
| ":shape_util", |
| ":sparse_index_array", |
| ":status_macros", |
| ":types", |
| ":util", |
| ":xla_data_proto", |
| "//tensorflow/core:lib", |
| "@com_google_absl//absl/memory", |
| "@com_google_absl//absl/strings", |
| "@com_google_absl//absl/strings:str_format", |
| "@com_google_absl//absl/types:span", |
| ], |
| ) |
| |
| tf_cc_test( |
| name = "literal_test", |
| srcs = ["literal_test.cc"], |
| deps = [ |
| ":array3d", |
| ":array4d", |
| ":literal", |
| ":literal_util", |
| ":shape_util", |
| ":test", |
| ":types", |
| "//tensorflow/compiler/tf2xla:common", |
| "//tensorflow/core:lib", |
| "//tensorflow/core:test", |
| "//tensorflow/core:test_main", |
| "@com_google_absl//absl/memory", |
| "@com_google_absl//absl/strings", |
| ], |
| ) |
| |
| cc_library( |
| name = "literal_util", |
| srcs = ["literal_util.cc"], |
| hdrs = ["literal_util.h"], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":array2d", |
| ":array3d", |
| ":array4d", |
| ":literal", |
| ":shape_util", |
| ":sparse_index_array", |
| ":status_macros", |
| ":types", |
| ":util", |
| ":xla_data_proto", |
| "//tensorflow/core:lib", |
| "@com_google_absl//absl/memory", |
| "@com_google_absl//absl/strings", |
| "@com_google_absl//absl/types:span", |
| ], |
| ) |
| |
| cc_library( |
| name = "error_spec", |
| hdrs = ["error_spec.h"], |
| ) |
| |
| cc_library( |
| name = "literal_comparison", |
| srcs = ["literal_comparison.cc"], |
| hdrs = ["literal_comparison.h"], |
| deps = [ |
| ":error_spec", |
| ":literal", |
| ":literal_util", |
| ":util", |
| "//tensorflow/core:lib", |
| "@com_google_absl//absl/strings", |
| "@com_google_absl//absl/strings:str_format", |
| ], |
| ) |
| |
| cc_library( |
| name = "metric_table_report", |
| srcs = ["metric_table_report.cc"], |
| hdrs = ["metric_table_report.h"], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":util", |
| "//tensorflow/core:lib", |
| "@com_google_absl//absl/strings", |
| "@com_google_absl//absl/strings:str_format", |
| ], |
| ) |
| |
| cc_library( |
| name = "device_util", |
| hdrs = ["device_util.h"], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":types", |
| "//tensorflow/core:stream_executor_no_cuda", |
| "@com_google_absl//absl/strings", |
| ], |
| ) |
| |
| cc_library( |
| name = "array", |
| hdrs = ["array.h"], |
| deps = [ |
| ":status", |
| ":types", |
| "//tensorflow/core:lib", |
| "@com_google_absl//absl/strings", |
| "@com_google_absl//absl/types:span", |
| ], |
| ) |
| |
| tf_cc_test( |
| name = "array_test", |
| srcs = ["array_test.cc"], |
| deps = [ |
| ":array", |
| ":test", |
| "//tensorflow/core:test_main", |
| ], |
| ) |
| |
| cc_library( |
| name = "array2d", |
| hdrs = ["array2d.h"], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":array", |
| ":types", |
| "//tensorflow/core:lib", |
| "@com_google_absl//absl/memory", |
| "@com_google_absl//absl/strings", |
| ], |
| ) |
| |
| tf_cc_test( |
| name = "array2d_test", |
| srcs = ["array2d_test.cc"], |
| deps = [ |
| ":array2d", |
| ":test", |
| "//tensorflow/core:test_main", |
| ], |
| ) |
| |
| cc_library( |
| name = "array3d", |
| hdrs = ["array3d.h"], |
| visibility = [":friends"], |
| deps = [ |
| ":array", |
| ":types", |
| "//tensorflow/core:lib", |
| ], |
| ) |
| |
| tf_cc_test( |
| name = "array3d_test", |
| srcs = ["array3d_test.cc"], |
| deps = [ |
| ":array3d", |
| ":test", |
| ":types", |
| "//tensorflow/core:test_main", |
| ], |
| ) |
| |
| cc_library( |
| name = "array4d", |
| hdrs = ["array4d.h"], |
| visibility = [":friends"], |
| deps = [ |
| ":array", |
| ":array2d", |
| ":types", |
| "//tensorflow/core:lib", |
| "@com_google_absl//absl/strings", |
| "@com_google_absl//absl/types:span", |
| ], |
| ) |
| |
| tf_cc_test( |
| name = "array4d_test", |
| srcs = ["array4d_test.cc"], |
| deps = [ |
| ":array4d", |
| ":test", |
| "//tensorflow/core:lib", |
| "//tensorflow/core:test_main", |
| "@com_google_absl//absl/types:span", |
| ], |
| ) |
| |
| cc_library( |
| name = "executable_run_options", |
| srcs = ["executable_run_options.cc"], |
| hdrs = ["executable_run_options.h"], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":types", |
| ], |
| ) |
| |
| cc_library( |
| name = "packed_literal_reader", |
| srcs = ["packed_literal_reader.cc"], |
| hdrs = ["packed_literal_reader.h"], |
| visibility = [":internal"], |
| deps = [ |
| ":literal", |
| ":shape_util", |
| ":status_macros", |
| ":statusor", |
| ":types", |
| ":util", |
| ":xla_data_proto", |
| "//tensorflow/core:lib", |
| "@com_google_absl//absl/base", |
| "@com_google_absl//absl/memory", |
| ], |
| ) |
| |
| cc_library( |
| name = "test_helpers", |
| testonly = 1, |
| hdrs = ["test_helpers.h"], |
| visibility = [":internal"], |
| deps = [ |
| ":statusor", |
| ":types", |
| "//tensorflow/core:lib", |
| "//tensorflow/core:regexp_internal", |
| "//tensorflow/core:test", |
| "@com_google_absl//absl/strings", |
| ], |
| ) |
| |
| cc_library( |
| name = "text_literal_reader", |
| srcs = ["text_literal_reader.cc"], |
| hdrs = ["text_literal_reader.h"], |
| visibility = [":internal"], |
| deps = [ |
| ":literal", |
| ":shape_util", |
| ":status_macros", |
| ":statusor", |
| ":types", |
| ":util", |
| ":xla_data_proto", |
| "//tensorflow/core:lib", |
| "//tensorflow/core:lib_internal", |
| "@com_google_absl//absl/memory", |
| "@com_google_absl//absl/strings", |
| ], |
| ) |
| |
| tf_cc_test( |
| name = "text_literal_reader_test", |
| srcs = ["text_literal_reader_test.cc"], |
| deps = [ |
| ":literal", |
| ":shape_util", |
| ":test", |
| ":text_literal_reader", |
| ":types", |
| ":xla_data_proto", |
| "//tensorflow/core:lib", |
| "//tensorflow/core:test_main", |
| ], |
| ) |
| |
| cc_library( |
| name = "text_literal_writer", |
| srcs = ["text_literal_writer.cc"], |
| hdrs = ["text_literal_writer.h"], |
| visibility = [":internal"], |
| deps = [ |
| ":literal", |
| ":shape_util", |
| ":status_macros", |
| ":types", |
| ":xla_data_proto", |
| "//tensorflow/core:lib", |
| "@com_google_absl//absl/strings", |
| "@com_google_absl//absl/types:span", |
| ], |
| ) |
| |
| tf_cc_test( |
| name = "text_literal_writer_test", |
| srcs = ["text_literal_writer_test.cc"], |
| deps = [ |
| ":literal", |
| ":literal_util", |
| ":test", |
| ":test_helpers", |
| ":text_literal_writer", |
| ":types", |
| "//tensorflow/core:lib", |
| "//tensorflow/core:test_main", |
| ], |
| ) |
| |
| cc_library( |
| name = "shape_tree", |
| hdrs = ["shape_tree.h"], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":shape_util", |
| ":status_macros", |
| ":xla_data_proto", |
| "//tensorflow/core:lib", |
| "//tensorflow/core:lib_internal", |
| "@com_google_absl//absl/memory", |
| "@com_google_absl//absl/types:optional", |
| "@com_google_absl//absl/types:span", |
| ], |
| ) |
| |
| tf_cc_test( |
| name = "shape_tree_test", |
| srcs = ["shape_tree_test.cc"], |
| deps = [ |
| ":shape_tree", |
| ":shape_util", |
| ":test", |
| ":xla_data_proto", |
| "//tensorflow/core:test", |
| "//tensorflow/core:test_main", |
| "@com_google_absl//absl/memory", |
| ], |
| ) |
| |
| cc_library( |
| name = "shape_layout", |
| srcs = ["shape_layout.cc"], |
| hdrs = ["shape_layout.h"], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":shape_util", |
| ":types", |
| ":util", |
| ":xla_data_proto", |
| "//tensorflow/core:lib", |
| ], |
| ) |
| |
| cc_library( |
| name = "window_util", |
| srcs = ["window_util.cc"], |
| hdrs = ["window_util.h"], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":types", |
| ":xla_data_proto", |
| "//tensorflow/core:lib", |
| "@com_google_absl//absl/strings", |
| "@com_google_absl//absl/types:span", |
| ], |
| ) |
| |
| cc_library( |
| name = "reference_util", |
| srcs = ["reference_util.cc"], |
| hdrs = ["reference_util.h"], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":array2d", |
| ":array3d", |
| ":array4d", |
| ":literal_util", |
| ":util", |
| ":window_util", |
| ":xla_data_proto", |
| "//tensorflow/compiler/xla/client:padding", |
| "//tensorflow/compiler/xla/client:xla_builder", |
| "//tensorflow/compiler/xla/service:hlo", |
| "//tensorflow/compiler/xla/service:hlo_evaluator", |
| "//tensorflow/compiler/xla/service:shape_inference", |
| "//tensorflow/compiler/xla/service/cpu:runtime_single_threaded_matmul", |
| "//tensorflow/core:lib", |
| "@com_google_absl//absl/memory", |
| "@com_google_absl//absl/types:span", |
| ], |
| ) |
| |
| tf_cc_test( |
| name = "reference_util_test", |
| srcs = ["reference_util_test.cc"], |
| deps = [ |
| ":array2d", |
| ":array3d", |
| ":array4d", |
| ":literal", |
| ":reference_util", |
| ":test", |
| ":util", |
| ":xla_data_proto", |
| "//tensorflow/compiler/xla/client:padding", |
| "//tensorflow/compiler/xla/tests:literal_test_util", |
| "//tensorflow/core:test_main", |
| "@com_google_absl//absl/memory", |
| ], |
| ) |
| |
| cc_library( |
| name = "sparse_index_array", |
| srcs = ["sparse_index_array.cc"], |
| hdrs = ["sparse_index_array.h"], |
| deps = [ |
| ":array2d", |
| ":shape_util", |
| ":xla_data_proto", |
| "@com_google_absl//absl/container:inlined_vector", |
| "@com_google_absl//absl/types:span", |
| ], |
| ) |
| |
| tf_cc_test( |
| name = "sparse_index_array_test", |
| srcs = ["sparse_index_array_test.cc"], |
| deps = [ |
| ":sparse_index_array", |
| ":test", |
| "//tensorflow/core:test_main", |
| ], |
| ) |
| |
| # ----------------------------------------------------------------------------- |
| |
| # This is a headers target that extra XLA devices can use to prevent circular dependencies. Devices that are compiled as separate shared objects can also use it to prevent linking of library code. |
| cc_header_only_library( |
| name = "xla_headers_lib", |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":xla_data_proto", |
| ":xla_proto", |
| "//tensorflow/compiler/xla/client:client_library", |
| "//tensorflow/compiler/xla/service:hlo", |
| "//tensorflow/core:framework_headers_lib", |
| "//tensorflow/core:stream_executor_headers_lib", |
| ], |
| ) |