aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/compiler/xla/service/BUILD
diff options
context:
space:
mode:
authorGravatar Mark Heffernan <meheff@google.com>2018-09-05 10:34:12 -0700
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2018-09-05 10:41:37 -0700
commit7fa693209fe238478739b3982f652a7e35be91f3 (patch)
treeeb31635c366d9eceb144970ddb2b659441204ce1 /tensorflow/compiler/xla/service/BUILD
parent08313b87960962efb98bcd684776c8305fa9909a (diff)
Add HloSchedule class representing a sequential order of an HloModule.
Currently we represent a sequential schedule of a module using a SequentialHloOrdering::HloModuleSequence which is a type alias of a bare map from HloComputation* to std::vector<HloInstruction*>. This CL replaces this with a proper class which results in better encapsulation of code which deals with schedules and better enforcement of invariants. This CL also fixes a corner-case bug in dataflow analysis, where values of instructions which are live out of the computation erroneously did not interfere with the values of instructions scheduled after the root instruction. PiperOrigin-RevId: 211656888
Diffstat (limited to 'tensorflow/compiler/xla/service/BUILD')
-rw-r--r--tensorflow/compiler/xla/service/BUILD48
1 files changed, 48 insertions, 0 deletions
diff --git a/tensorflow/compiler/xla/service/BUILD b/tensorflow/compiler/xla/service/BUILD
index f6cfac6537..612302781c 100644
--- a/tensorflow/compiler/xla/service/BUILD
+++ b/tensorflow/compiler/xla/service/BUILD
@@ -989,6 +989,7 @@ tf_cc_test(
"//tensorflow/compiler/xla:xla_data_proto",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
+ "//tensorflow/core:test",
"@com_google_absl//absl/memory",
],
)
@@ -1036,6 +1037,7 @@ tf_cc_test(
":flatten_call_graph",
":hlo",
":hlo_ordering",
+ ":hlo_schedule",
":hlo_scheduling",
"//tensorflow/compiler/xla:literal",
"//tensorflow/compiler/xla:shape_util",
@@ -1049,6 +1051,7 @@ tf_cc_test(
"//tensorflow/compiler/xla/tests:hlo_verified_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
"//tensorflow/core:lib",
+ "//tensorflow/core:test",
"@com_google_absl//absl/memory",
],
)
@@ -1062,6 +1065,7 @@ cc_library(
":hlo",
":hlo_dataflow_analysis",
":hlo_proto",
+ ":hlo_schedule",
":hlo_value",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:status_macros",
@@ -1082,6 +1086,7 @@ tf_cc_test(
":hlo",
":hlo_dataflow_analysis",
":hlo_ordering",
+ ":hlo_schedule",
":hlo_scheduling",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:types",
@@ -1089,6 +1094,7 @@ tf_cc_test(
"//tensorflow/compiler/xla/service:hlo_parser",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
+ "//tensorflow/core:test",
],
)
@@ -1102,6 +1108,7 @@ cc_library(
":hlo",
":hlo_ordering",
":hlo_proto",
+ ":hlo_schedule",
":tuple_points_to_analysis",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:util",
@@ -1125,6 +1132,7 @@ tf_cc_test(
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
"//tensorflow/core:lib",
+ "//tensorflow/core:test",
"@com_google_absl//absl/memory",
],
)
@@ -1170,6 +1178,43 @@ cc_library(
)
cc_library(
+ name = "hlo_schedule",
+ srcs = ["hlo_schedule.cc"],
+ hdrs = ["hlo_schedule.h"],
+ deps = [
+ ":hlo",
+ "//tensorflow/compiler/xla:status",
+ "//tensorflow/compiler/xla:status_macros",
+ "//tensorflow/compiler/xla:util",
+ "//tensorflow/core:lib_internal",
+ "@com_google_absl//absl/strings",
+ "@com_google_absl//absl/strings:str_format",
+ "@com_google_absl//absl/types:span",
+ ],
+)
+
+tf_cc_test(
+ name = "hlo_schedule_test",
+ srcs = ["hlo_schedule_test.cc"],
+ deps = [
+ ":heap_simulator",
+ ":hlo",
+ ":hlo_dce",
+ ":hlo_ordering",
+ ":hlo_parser",
+ ":hlo_schedule",
+ ":hlo_scheduling",
+ "//tensorflow/compiler/xla:shape_util",
+ "//tensorflow/compiler/xla:types",
+ "//tensorflow/compiler/xla:xla_data_proto",
+ "//tensorflow/compiler/xla/tests:hlo_test_base",
+ "//tensorflow/compiler/xla/tests:xla_internal_test_main",
+ "//tensorflow/core:test",
+ "@com_google_absl//absl/algorithm:container",
+ ],
+)
+
+cc_library(
name = "hlo_scheduling",
srcs = ["hlo_scheduling.cc"],
hdrs = ["hlo_scheduling.h"],
@@ -1177,6 +1222,7 @@ cc_library(
":heap_simulator",
":hlo",
":hlo_ordering",
+ ":hlo_schedule",
":logical_buffer",
":tuple_points_to_analysis",
"//tensorflow/compiler/xla:shape_util",
@@ -1205,6 +1251,7 @@ tf_cc_test(
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
"//tensorflow/core:test",
+ "@com_google_absl//absl/algorithm:container",
],
)
@@ -2366,6 +2413,7 @@ cc_library(
":hlo",
":hlo_dce",
":hlo_ordering",
+ ":hlo_schedule",
":hlo_scheduling",
":logical_buffer",
":tuple_points_to_analysis",