From 28b732d618fac7692b53af3680b408b464356c98 Mon Sep 17 00:00:00 2001 From: "A. Unique TensorFlower" <gardener@tensorflow.org> Date: Mon, 15 May 2017 09:25:14 -0700 Subject: [PATCH] Refactor core/BUILD dependencies to avoid circular dependency with grappler. Remove grappler from android_srcs. PiperOrigin-RevId: 156062586 --- tensorflow/core/BUILD | 178 ++++++++++++++---- .../simple_graph_execution_state.cc | 14 +- tensorflow/core/grappler/BUILD | 25 --- tensorflow/core/grappler/clusters/BUILD | 18 -- tensorflow/core/grappler/costs/BUILD | 6 +- tensorflow/core/grappler/inputs/BUILD | 16 -- tensorflow/core/grappler/optimizers/BUILD | 26 +-- tensorflow/core/grappler/utils/BUILD | 15 -- 8 files changed, 162 insertions(+), 136 deletions(-) diff --git a/tensorflow/core/BUILD b/tensorflow/core/BUILD index c361bb53705..a0d56df4aaf 100644 --- a/tensorflow/core/BUILD +++ b/tensorflow/core/BUILD @@ -854,7 +854,6 @@ filegroup( "//tensorflow/core/platform/default/build_config:android_srcs", "//tensorflow/core/util/ctc:android_srcs", "//tensorflow/core/util/tensor_bundle:android_srcs", - "//tensorflow/core/grappler:android_srcs", "common_runtime/gpu/gpu_tracer.cc", "common_runtime/gpu/gpu_tracer.h", ] + glob( @@ -1492,42 +1491,153 @@ cc_library( deps = ["//tensorflow/core/platform/default/build_config:protos_cc"], ) +CORE_CPU_BASE_HDRS = [ + "common_runtime/device.h", + "common_runtime/graph_runner.h", + "common_runtime/shape_refiner.h", + "framework/versions.h", + "graph/algorithm.h", + "graph/colors.h", + "graph/control_flow.h", + "graph/costmodel.h", + "graph/default_device.h", + "graph/edgeset.h", + "graph/graph.h", + "graph/graph_constructor.h", + "graph/graph_def_builder.h", + "graph/graph_partition.h", + "graph/mkl_layout_pass.h", + "graph/mkl_tfconversion_pass.h", + "graph/node_builder.h", + "graph/optimizer_cse.h", + "graph/subgraph.h", + "graph/tensor_id.h", + "graph/testlib.h", + "graph/types.h", + "graph/validate.h", +] + tf_cuda_library( - name = "core_cpu_internal", - srcs = glob( - [ - "client/**/*.cc", - "common_runtime/*.h", - "common_runtime/*.cc", - "framework/versions.h", - "graph/**/*.h", - "graph/**/*.cc", - "public/session.h", - "public/session_options.h", - "public/version.h", - ], - exclude = [ - "**/*test*", - "**/*main.cc", - "common_runtime/direct_session.cc", - "common_runtime/direct_session.h", - "common_runtime/gpu_device_context.h", - ], - ), - hdrs = glob( - [ - "common_runtime/*.h", - "framework/versions.h", - "graph/**/*.h", - ], - exclude = [ - "**/*test*", - "common_runtime/direct_session.h", - "common_runtime/gpu_device_context.h", - ], - ), + name = "core_cpu_base", + srcs = [ + "common_runtime/shape_refiner.cc", + "common_runtime/shape_refiner.h", + "framework/versions.h", + "graph/algorithm.cc", + "graph/colors.cc", + "graph/control_flow.cc", + "graph/costmodel.cc", + "graph/edgeset.cc", + "graph/graph.cc", + "graph/graph_constructor.cc", + "graph/graph_def_builder.cc", + "graph/graph_partition.cc", + "graph/mkl_layout_pass.cc", + "graph/mkl_tfconversion_pass.cc", + "graph/node_builder.cc", + "graph/optimizer_cse.cc", + "graph/subgraph.cc", + "graph/tensor_id.cc", + "graph/validate.cc", + "public/session.h", + "public/session_options.h", + "public/version.h", + ], + hdrs = CORE_CPU_BASE_HDRS, copts = tf_copts(), deps = [ + ":framework", + ":framework_internal", + ":lib", + ":lib_internal", + ":proto_text", + ":protos_all_cc", + "//tensorflow/core/kernels:required", + "//third_party/eigen3", + ], + alwayslink = 1, +) + +tf_cuda_library( + name = "core_cpu_internal", + srcs = [ + "common_runtime/allocator_retry.cc", + "common_runtime/bfc_allocator.cc", + "common_runtime/build_graph_options.cc", + "common_runtime/constant_folding.cc", + "common_runtime/copy_tensor.cc", + "common_runtime/costmodel_manager.cc", + "common_runtime/debugger_state_interface.cc", + "common_runtime/device.cc", + "common_runtime/device_factory.cc", + "common_runtime/device_mgr.cc", + "common_runtime/device_set.cc", + "common_runtime/executor.cc", + "common_runtime/function.cc", + "common_runtime/graph_optimizer.cc", + "common_runtime/graph_runner.cc", + "common_runtime/local_device.cc", + "common_runtime/memory_types.cc", + "common_runtime/optimization_registry.cc", + "common_runtime/parallel_concat_optimizer.cc", + "common_runtime/process_util.cc", + "common_runtime/renamed_device.cc", + "common_runtime/rendezvous_mgr.cc", + "common_runtime/resource_variable_read_optimizer.cc", + "common_runtime/session.cc", + "common_runtime/session_factory.cc", + "common_runtime/session_options.cc", + "common_runtime/session_state.cc", + "common_runtime/simple_graph_execution_state.cc", + "common_runtime/simple_placer.cc", + "common_runtime/stats_publisher_interface.cc", + "common_runtime/step_stats_collector.cc", + "common_runtime/threadpool_device.cc", + "common_runtime/threadpool_device_factory.cc", + "graph/gradients.cc", + "graph/quantize_training.cc", + "public/session.h", + "public/session_options.h", + "public/version.h", + ], + hdrs = CORE_CPU_BASE_HDRS + [ + "common_runtime/allocator_retry.h", + "common_runtime/bfc_allocator.h", + "common_runtime/build_graph_options.h", + "common_runtime/constant_folding.h", + "common_runtime/copy_tensor.h", + "common_runtime/costmodel_manager.h", + "common_runtime/debugger_state_interface.h", + "common_runtime/device_factory.h", + "common_runtime/device_mgr.h", + "common_runtime/device_set.h", + "common_runtime/dma_helper.h", + "common_runtime/eigen_thread_pool.h", + "common_runtime/executor.h", + "common_runtime/function.h", + "common_runtime/graph_optimizer.h", + "common_runtime/local_device.h", + "common_runtime/memory_types.h", + "common_runtime/mkl_cpu_allocator.h", + "common_runtime/optimization_registry.h", + "common_runtime/pending_counts.h", + "common_runtime/process_util.h", + "common_runtime/profile_handler.h", + "common_runtime/renamed_device.h", + "common_runtime/rendezvous_mgr.h", + "common_runtime/session_factory.h", + "common_runtime/simple_graph_execution_state.h", + "common_runtime/simple_placer.h", + "common_runtime/stats_publisher_interface.h", + "common_runtime/step_stats_collector.h", + "common_runtime/threadpool_device.h", + "common_runtime/visitable_allocator.h", + "graph/gradients.h", + "graph/quantize_training.h", + ], + copts = tf_copts(), + deps = [ + ":core_cpu_base", ":framework", ":framework_internal", ":function_ops_op_lib", diff --git a/tensorflow/core/common_runtime/simple_graph_execution_state.cc b/tensorflow/core/common_runtime/simple_graph_execution_state.cc index 590b5d47ba5..47cf29d4033 100644 --- a/tensorflow/core/common_runtime/simple_graph_execution_state.cc +++ b/tensorflow/core/common_runtime/simple_graph_execution_state.cc @@ -29,10 +29,6 @@ limitations under the License. #include "tensorflow/core/graph/graph_constructor.h" #include "tensorflow/core/graph/subgraph.h" #include "tensorflow/core/graph/validate.h" -#include "tensorflow/core/grappler/clusters/utils.h" -#include "tensorflow/core/grappler/clusters/virtual_cluster.h" -#include "tensorflow/core/grappler/grappler_item.h" -#include "tensorflow/core/grappler/optimizers/meta_optimizer.h" #include "tensorflow/core/lib/core/errors.h" #include "tensorflow/core/lib/core/status.h" #include "tensorflow/core/lib/strings/stringprintf.h" @@ -41,6 +37,13 @@ limitations under the License. #include "tensorflow/core/platform/types.h" #include "tensorflow/core/util/util.h" +#ifndef IS_MOBILE_PLATFORM +#include "tensorflow/core/grappler/clusters/utils.h" +#include "tensorflow/core/grappler/clusters/virtual_cluster.h" +#include "tensorflow/core/grappler/grappler_item.h" +#include "tensorflow/core/grappler/optimizers/meta_optimizer.h" +#endif // IS_MOBILE_PLATFORM + namespace tensorflow { SimpleGraphExecutionState::SimpleGraphExecutionState( @@ -236,6 +239,8 @@ Status SimpleGraphExecutionState::InitBaseGraph( GraphDef optimized_graph; const RewriterConfig& rewrite_options = session_options_->config.graph_options().rewrite_options(); + +#ifndef IS_MOBILE_PLATFORM if (grappler::MetaOptimizerEnabled(rewrite_options)) { // Adding this functionalty in steps. The first step is to make sure // we don't break dependencies. The second step will be to turn the @@ -282,6 +287,7 @@ Status SimpleGraphExecutionState::InitBaseGraph( graph_def = &optimized_graph; } } +#endif // IS_MOBILE_PLATFORM std::unique_ptr<Graph> new_graph(new Graph(OpRegistry::Global())); GraphConstructorOptions opts; diff --git a/tensorflow/core/grappler/BUILD b/tensorflow/core/grappler/BUILD index c2ae6184207..57b7550ef05 100644 --- a/tensorflow/core/grappler/BUILD +++ b/tensorflow/core/grappler/BUILD @@ -14,31 +14,6 @@ filegroup( visibility = ["//tensorflow:__subpackages__"], ) -filegroup( - name = "mobile_srcs", - srcs = [ - "devices.cc", - "devices.h", - "grappler_item.cc", - "grappler_item.h", - "op_types.cc", - "op_types.h", - "utils.cc", - "utils.h", - "//tensorflow/core/grappler/clusters:android_srcs", - "//tensorflow/core/grappler/inputs:android_srcs", - "//tensorflow/core/grappler/optimizers:android_srcs", - "//tensorflow/core/grappler/utils:android_srcs", - ], - visibility = ["//tensorflow:__subpackages__"], -) - -alias( - name = "android_srcs", - actual = ":mobile_srcs", - visibility = ["//tensorflow:__subpackages__"], -) - cc_library( name = "op_types", srcs = ["op_types.cc"], diff --git a/tensorflow/core/grappler/clusters/BUILD b/tensorflow/core/grappler/clusters/BUILD index da372eb8235..556eb1dbc5c 100644 --- a/tensorflow/core/grappler/clusters/BUILD +++ b/tensorflow/core/grappler/clusters/BUILD @@ -12,24 +12,6 @@ filegroup( visibility = ["//tensorflow:__subpackages__"], ) -filegroup( - name = "mobile_srcs", - srcs = glob( - [ - "cluster.*", - "utils.*", - "virtual_cluster.*", - ], - ), - visibility = ["//tensorflow:__subpackages__"], -) - -alias( - name = "android_srcs", - actual = ":mobile_srcs", - visibility = ["//tensorflow:__subpackages__"], -) - config_setting( name = "xsmm", licenses = ["notice"], diff --git a/tensorflow/core/grappler/costs/BUILD b/tensorflow/core/grappler/costs/BUILD index ceb4050eae5..43c727f3810 100644 --- a/tensorflow/core/grappler/costs/BUILD +++ b/tensorflow/core/grappler/costs/BUILD @@ -39,7 +39,7 @@ cc_library( deps = [ ":op_performance_data_cc", ":utils", - "//tensorflow/core:core_cpu", + "//tensorflow/core:core_cpu_base", "//tensorflow/core:protos_all_cc", "//tensorflow/core/grappler:grappler_item", "//tensorflow/core/grappler/clusters:cluster", @@ -119,7 +119,7 @@ cc_library( ":op_performance_data_cc", "//third_party/eigen3", "//tensorflow/core/grappler/clusters:utils", - "//tensorflow/core:core_cpu_internal", + "//tensorflow/core:core_cpu_base", "//tensorflow/core:framework", "//tensorflow/core:lib", "//tensorflow/core:protos_all_cc", @@ -227,7 +227,7 @@ cc_library( ":virtual_placer", ":virtual_scheduler", "//tensorflow/core:core_cpu", - "//tensorflow/core:core_cpu_internal", + "//tensorflow/core:core_cpu_base", "//tensorflow/core:lib", "//tensorflow/core:protos_all_cc", "//tensorflow/core/grappler:grappler_item", diff --git a/tensorflow/core/grappler/inputs/BUILD b/tensorflow/core/grappler/inputs/BUILD index 0cbcf482713..37047b2b82a 100644 --- a/tensorflow/core/grappler/inputs/BUILD +++ b/tensorflow/core/grappler/inputs/BUILD @@ -12,22 +12,6 @@ filegroup( visibility = ["//tensorflow:__subpackages__"], ) -filegroup( - name = "mobile_srcs", - srcs = glob( - [ - "utils.*", - ], - ), - visibility = ["//tensorflow:__subpackages__"], -) - -alias( - name = "android_srcs", - actual = ":mobile_srcs", - visibility = ["//tensorflow:__subpackages__"], -) - cc_library( name = "utils", srcs = [ diff --git a/tensorflow/core/grappler/optimizers/BUILD b/tensorflow/core/grappler/optimizers/BUILD index c46ebf2031c..849c148f4dd 100644 --- a/tensorflow/core/grappler/optimizers/BUILD +++ b/tensorflow/core/grappler/optimizers/BUILD @@ -12,26 +12,6 @@ filegroup( visibility = ["//tensorflow:__subpackages__"], ) -filegroup( - name = "mobile_srcs", - srcs = glob( - [ - "*_optimizer.*", - "auto_parallel.*", - "constant_folding.*", - "model_pruner.*", - "graph_rewriter.*", - ], - ), - visibility = ["//tensorflow:__subpackages__"], -) - -alias( - name = "android_srcs", - actual = ":mobile_srcs", - visibility = ["//tensorflow:__subpackages__"], -) - cc_library( name = "static_schedule", srcs = ["static_schedule.cc"], @@ -207,9 +187,12 @@ cc_library( deps = [ ":graph_optimizer", ":graph_rewriter", + ":static_schedule", "//tensorflow/core:protos_all_cc", "//tensorflow/core/grappler:grappler_item", "//tensorflow/core/grappler:utils", + "//tensorflow/core/grappler/costs:graph_properties", + "//tensorflow/core/grappler/utils:scc", ], ) @@ -219,12 +202,13 @@ cc_test( deps = [ ":memory_optimizer", "//tensorflow/cc:cc_ops", + "//tensorflow/core:ops", "//tensorflow/core:protos_all_cc", "//tensorflow/core:test", "//tensorflow/core:test_main", "//tensorflow/core/grappler:grappler_item", "//tensorflow/core/grappler:utils", - "//tensorflow/core/grappler/inputs:trivial_test_graph_input_yielder", + "//tensorflow/core/grappler/clusters:virtual_cluster", ], ) diff --git a/tensorflow/core/grappler/utils/BUILD b/tensorflow/core/grappler/utils/BUILD index 0bbd6d65ccc..e1a3c574a6d 100644 --- a/tensorflow/core/grappler/utils/BUILD +++ b/tensorflow/core/grappler/utils/BUILD @@ -12,21 +12,6 @@ filegroup( visibility = ["//tensorflow:__subpackages__"], ) -filegroup( - name = "mobile_srcs", - srcs = [ - "scc.cc", - "scc.h", - ], - visibility = ["//tensorflow:__subpackages__"], -) - -alias( - name = "android_srcs", - actual = ":mobile_srcs", - visibility = ["//tensorflow:__subpackages__"], -) - cc_library( name = "scc", srcs = ["scc.cc"],