1# Description: 2# GPU-specific components in XLA service implementation. 3 4licenses(["notice"]) # Apache 2.0 5 6package(default_visibility = [":friends"]) 7 8package_group( 9 name = "friends", 10 includes = [ 11 "//tensorflow/compiler/xla:friends", 12 ], 13) 14 15# Filegroup used to collect source files for dependency checking. 16filegroup( 17 name = "c_srcs", 18 data = glob([ 19 "**/*.cc", 20 "**/*.h", 21 ]), 22) 23 24load("//tensorflow:tensorflow.bzl", "tf_cc_test") 25 26cc_library( 27 name = "gpu_constants", 28 srcs = ["gpu_constants.cc"], 29 hdrs = ["gpu_constants.h"], 30 deps = [ 31 "//tensorflow/compiler/xla:types", 32 ], 33) 34 35cc_library( 36 name = "partition_assignment", 37 srcs = [ 38 "partition_assignment.cc", 39 ], 40 hdrs = [ 41 "partition_assignment.h", 42 ], 43 deps = [ 44 "//tensorflow/compiler/xla:shape_util", 45 "//tensorflow/compiler/xla:types", 46 "//tensorflow/compiler/xla:util", 47 "//tensorflow/compiler/xla/service:hlo", 48 "//tensorflow/core:lib", 49 "//tensorflow/core:stream_executor_no_cuda", 50 ], 51) 52 53# TODO(b/29140563) This target is flaky, disabled until flakiness is 54# root-caused. Failed on 2016-06-08. 55#tf_cc_test( 56# name = "partition_assignment_test", 57# srcs = [ 58# "partition_assignment_test.cc", 59# ], 60# tags = [ 61# "requires-gpu-sm35", 62# ], 63# deps = [ 64# ":partition_assignment", 65# "//tensorflow/core:stream_executor_no_cuda", 66# "//tensorflow/compiler/xla:shape_util", 67# "//tensorflow/compiler/xla:xla_data_proto", 68# "//tensorflow/compiler/xla/service:gpu_plugin", 69# "//tensorflow/compiler/xla/service:hlo", 70# "//tensorflow/compiler/xla/tests:hlo_test_base", 71# "//tensorflow/core:test_main", 72# ], 73#) 74 75cc_library( 76 name = "stream_assignment", 77 srcs = ["stream_assignment.cc"], 78 hdrs = ["stream_assignment.h"], 79 deps = [ 80 ":ir_emission_utils", 81 "//tensorflow/compiler/xla:util", 82 "//tensorflow/compiler/xla/service:hlo", 83 "//tensorflow/compiler/xla/service:hlo_reachability", 84 "//tensorflow/core:lib", 85 ], 86) 87 88tf_cc_test( 89 name = "stream_assignment_test", 90 srcs = [ 91 "stream_assignment_test.cc", 92 ], 93 deps = [ 94 ":stream_assignment", 95 "//tensorflow/compiler/xla:test_helpers", 96 "//tensorflow/compiler/xla:types", 97 "//tensorflow/compiler/xla/service:hlo", 98 "//tensorflow/compiler/xla/tests:hlo_test_base", 99 "//tensorflow/compiler/xla/tests:xla_internal_test_main", 100 "//tensorflow/core:lib", 101 ], 102) 103 104cc_library( 105 name = "hlo_to_ir_bindings", 106 srcs = ["hlo_to_ir_bindings.cc"], 107 hdrs = ["hlo_to_ir_bindings.h"], 108 deps = [ 109 ":ir_emission_utils", 110 "//tensorflow/compiler/xla:util", 111 "//tensorflow/compiler/xla/service:buffer_assignment", 112 "//tensorflow/compiler/xla/service:hlo", 113 "//tensorflow/compiler/xla/service/llvm_ir:alias_analysis", 114 "//tensorflow/compiler/xla/service/llvm_ir:ir_array", 115 "//tensorflow/compiler/xla/service/llvm_ir:llvm_util", 116 "//tensorflow/compiler/xla/service/llvm_ir:tuple_ops", 117 "//tensorflow/core:lib", 118 "@llvm//:core", 119 ], 120) 121 122cc_library( 123 name = "ir_emitter", 124 srcs = [ 125 "ir_emitter.cc", 126 "ir_emitter_nested.cc", 127 "ir_emitter_unnested.cc", 128 ], 129 hdrs = [ 130 "ir_emitter.h", 131 "ir_emitter_context.h", 132 "ir_emitter_nested.h", 133 "ir_emitter_unnested.h", 134 ], 135 deps = [ 136 ":cudnn_convolution_runner", 137 ":elemental_ir_emitter", 138 ":gpu_constants", 139 ":gpu_executable", 140 ":hlo_to_ir_bindings", 141 ":ir_emission_utils", 142 ":parallel_loop_emitter", 143 ":partition_assignment", 144 ":while_transformer", 145 "//tensorflow/compiler/xla:literal_util", 146 "//tensorflow/compiler/xla:shape_util", 147 "//tensorflow/compiler/xla:status_macros", 148 "//tensorflow/compiler/xla:statusor", 149 "//tensorflow/compiler/xla:types", 150 "//tensorflow/compiler/xla:util", 151 "//tensorflow/compiler/xla:window_util", 152 "//tensorflow/compiler/xla:xla_data_proto", 153 "//tensorflow/compiler/xla/service:buffer_assignment", 154 "//tensorflow/compiler/xla/service:elemental_ir_emitter", 155 "//tensorflow/compiler/xla/service:hlo", 156 "//tensorflow/compiler/xla/service:name_uniquer", 157 "//tensorflow/compiler/xla/service/llvm_ir:fused_ir_emitter", 158 "//tensorflow/compiler/xla/service/llvm_ir:ir_array", 159 "//tensorflow/compiler/xla/service/llvm_ir:llvm_loop", 160 "//tensorflow/compiler/xla/service/llvm_ir:llvm_util", 161 "//tensorflow/compiler/xla/service/llvm_ir:loop_emitter", 162 "//tensorflow/compiler/xla/service/llvm_ir:ops", 163 "//tensorflow/compiler/xla/service/llvm_ir:tuple_ops", 164 "//tensorflow/core:lib", 165 "//tensorflow/core:stream_executor_no_cuda", 166 "@llvm//:core", 167 "@llvm//:support", 168 ], 169) 170 171cc_library( 172 name = "parallel_loop_emitter", 173 srcs = ["parallel_loop_emitter.cc"], 174 hdrs = ["parallel_loop_emitter.h"], 175 deps = [ 176 ":partition_assignment", 177 "//tensorflow/compiler/xla:shape_util", 178 "//tensorflow/compiler/xla:xla_data_proto", 179 "//tensorflow/compiler/xla/service/llvm_ir:ir_array", 180 "//tensorflow/compiler/xla/service/llvm_ir:llvm_loop", 181 "//tensorflow/compiler/xla/service/llvm_ir:llvm_util", 182 "//tensorflow/compiler/xla/service/llvm_ir:loop_emitter", 183 "//tensorflow/core:lib", 184 "@llvm//:core", 185 ], 186) 187 188cc_library( 189 name = "elemental_ir_emitter", 190 srcs = ["elemental_ir_emitter.cc"], 191 hdrs = ["elemental_ir_emitter.h"], 192 deps = [ 193 "//tensorflow/compiler/xla:literal_util", 194 "//tensorflow/compiler/xla:shape_util", 195 "//tensorflow/compiler/xla:status_macros", 196 "//tensorflow/compiler/xla:statusor", 197 "//tensorflow/compiler/xla:types", 198 "//tensorflow/compiler/xla:util", 199 "//tensorflow/compiler/xla:window_util", 200 "//tensorflow/compiler/xla:xla_data_proto", 201 "//tensorflow/compiler/xla/service:elemental_ir_emitter", 202 "//tensorflow/compiler/xla/service:hlo", 203 "//tensorflow/compiler/xla/service:hlo_module_config", 204 "//tensorflow/compiler/xla/service/llvm_ir:ir_array", 205 "//tensorflow/compiler/xla/service/llvm_ir:llvm_loop", 206 "//tensorflow/compiler/xla/service/llvm_ir:llvm_util", 207 "//tensorflow/compiler/xla/service/llvm_ir:loop_emitter", 208 "//tensorflow/core:lib", 209 "@llvm//:core", 210 "@llvm//:support", 211 ], 212) 213 214cc_library( 215 name = "buffer_allocations", 216 srcs = ["buffer_allocations.cc"], 217 hdrs = ["buffer_allocations.h"], 218 deps = [ 219 ":gpu_constants", 220 "//tensorflow/compiler/xla:status_macros", 221 "//tensorflow/compiler/xla:statusor", 222 "//tensorflow/compiler/xla:types", 223 "//tensorflow/compiler/xla:util", 224 "//tensorflow/compiler/xla/service:buffer_assignment", 225 "//tensorflow/compiler/xla/service:device_memory_allocator", 226 "//tensorflow/core:lib", 227 "//tensorflow/core:stream_executor_no_cuda", 228 ], 229) 230 231cc_library( 232 name = "gpu_executable", 233 srcs = [ 234 "conditional_thunk.cc", 235 "convolution_thunk.cc", 236 "copy_thunk.cc", 237 "cudnn_batchnorm_thunk.cc", 238 "fft_thunk.cc", 239 "for_thunk.cc", 240 "gemm_thunk.cc", 241 "gpu_executable.cc", 242 "infeed_thunk.cc", 243 "kernel_thunk.cc", 244 "sequential_thunk.cc", 245 "thunk_schedule.cc", 246 "tuple_thunk.cc", 247 "while_thunk.cc", 248 ], 249 hdrs = [ 250 "conditional_thunk.h", 251 "convolution_thunk.h", 252 "copy_thunk.h", 253 "cudnn_batchnorm_thunk.h", 254 "fft_thunk.h", 255 "for_thunk.h", 256 "gemm_thunk.h", 257 "gpu_executable.h", 258 "infeed_thunk.h", 259 "kernel_thunk.h", 260 "sequential_thunk.h", 261 "thunk.h", 262 "thunk_schedule.h", 263 "tuple_thunk.h", 264 "while_thunk.h", 265 ], 266 deps = [ 267 ":buffer_allocations", 268 ":cudnn_convolution_runner", 269 ":infeed_manager", 270 ":ir_emission_utils", 271 ":partition_assignment", 272 ":stream_assignment", 273 "//tensorflow/compiler/xla:array2d", 274 "//tensorflow/compiler/xla:shape_tree", 275 "//tensorflow/compiler/xla:shape_util", 276 "//tensorflow/compiler/xla:status_macros", 277 "//tensorflow/compiler/xla:statusor", 278 "//tensorflow/compiler/xla:types", 279 "//tensorflow/compiler/xla:util", 280 "//tensorflow/compiler/xla:xla_data_proto", 281 "//tensorflow/compiler/xla/service:buffer_assignment", 282 "//tensorflow/compiler/xla/service:device_memory_allocator", 283 "//tensorflow/compiler/xla/service:executable", 284 "//tensorflow/compiler/xla/service:hlo", 285 "//tensorflow/compiler/xla/service:hlo_execution_profile", 286 "//tensorflow/compiler/xla/service:logical_buffer", 287 "//tensorflow/compiler/xla/service:shaped_buffer", 288 "//tensorflow/compiler/xla/service:transfer_manager", 289 "//tensorflow/compiler/xla/service:tuple_points_to_analysis", 290 "//tensorflow/core:lib", 291 "//tensorflow/core:stream_executor_no_cuda", 292 "//tensorflow/core/platform/default/build_config:cublas_plugin", 293 "//tensorflow/core/platform/default/build_config:cudnn_plugin", 294 "//tensorflow/core/platform/default/build_config:cufft_plugin", 295 "//tensorflow/core/platform/default/build_config:stream_executor_cuda", # build_cleaner: keep 296 ], 297) 298 299cc_library( 300 name = "ir_emission_utils", 301 srcs = ["ir_emission_utils.cc"], 302 hdrs = ["ir_emission_utils.h"], 303 deps = [ 304 "//tensorflow/compiler/xla:shape_util", 305 "//tensorflow/compiler/xla:util", 306 "//tensorflow/compiler/xla:window_util", 307 "//tensorflow/compiler/xla:xla_data_proto", 308 "//tensorflow/compiler/xla/service:hlo", 309 "//tensorflow/compiler/xla/service/llvm_ir:llvm_util", 310 "//tensorflow/core:lib", 311 "@llvm//:core", 312 ], 313) 314 315cc_library( 316 name = "cudnn_convolution_algorithm_picker", 317 srcs = ["cudnn_convolution_algorithm_picker.cc"], 318 hdrs = ["cudnn_convolution_algorithm_picker.h"], 319 deps = [ 320 ":cudnn_convolution_runner", 321 ":gpu_executable", 322 ":ir_emission_utils", 323 "//tensorflow/compiler/xla/service:device_memory_allocator", 324 "//tensorflow/compiler/xla/service:hlo", 325 "//tensorflow/compiler/xla/service:hlo_pass", 326 "//tensorflow/core:lib", 327 "//tensorflow/core:stream_executor_no_cuda", 328 ], 329) 330 331cc_library( 332 name = "cudnn_convolution_runner", 333 srcs = ["cudnn_convolution_runner.cc"], 334 hdrs = ["cudnn_convolution_runner.h"], 335 deps = [ 336 "//tensorflow/compiler/xla:shape_util", 337 "//tensorflow/compiler/xla:status", 338 "//tensorflow/compiler/xla:status_macros", 339 "//tensorflow/compiler/xla:statusor", 340 "//tensorflow/compiler/xla:types", 341 "//tensorflow/compiler/xla:util", 342 "//tensorflow/compiler/xla:xla_data_proto", 343 "//tensorflow/core:stream_executor_no_cuda", 344 ], 345) 346 347cc_library( 348 name = "cudnn_convolution_rewriter", 349 srcs = ["cudnn_convolution_rewriter.cc"], 350 hdrs = ["cudnn_convolution_rewriter.h"], 351 deps = [ 352 ":ir_emission_utils", 353 "//tensorflow/compiler/xla:literal_util", 354 "//tensorflow/compiler/xla:util", 355 "//tensorflow/compiler/xla:window_util", 356 "//tensorflow/compiler/xla:xla_data_proto", 357 "//tensorflow/compiler/xla/service:hlo", 358 "//tensorflow/compiler/xla/service:hlo_pass", 359 "//tensorflow/core:lib", 360 ], 361) 362 363tf_cc_test( 364 name = "cudnn_convolution_rewriter_test", 365 srcs = ["cudnn_convolution_rewriter_test.cc"], 366 deps = [ 367 ":cudnn_convolution_rewriter", 368 ":ir_emission_utils", 369 "//tensorflow/compiler/xla:test", 370 "//tensorflow/compiler/xla:test_helpers", 371 "//tensorflow/compiler/xla/service:hlo", 372 "//tensorflow/compiler/xla/service:hlo_matchers", 373 "//tensorflow/compiler/xla/service:shape_inference", 374 "//tensorflow/compiler/xla/tests:hlo_test_base", 375 "//tensorflow/compiler/xla/tests:xla_internal_test_main", # fixdeps: keep 376 "//tensorflow/core:test", 377 ], 378) 379 380cc_library( 381 name = "instruction_fusion", 382 srcs = ["instruction_fusion.cc"], 383 hdrs = ["instruction_fusion.h"], 384 deps = [ 385 ":ir_emission_utils", 386 "//tensorflow/compiler/xla:shape_util", 387 "//tensorflow/compiler/xla/service:hlo", 388 "//tensorflow/compiler/xla/service:instruction_fusion", 389 ], 390) 391 392tf_cc_test( 393 name = "instruction_fusion_test", 394 srcs = ["instruction_fusion_test.cc"], 395 deps = [ 396 ":instruction_fusion", 397 "//tensorflow/compiler/xla/service:hlo_matchers", 398 "//tensorflow/compiler/xla/tests:hlo_test_base", 399 "//tensorflow/compiler/xla/tests:xla_internal_test_main", 400 ], 401) 402 403cc_library( 404 name = "gpu_copy_insertion", 405 srcs = ["gpu_copy_insertion.cc"], 406 hdrs = ["gpu_copy_insertion.h"], 407 deps = [ 408 ":ir_emission_utils", 409 "//tensorflow/compiler/xla/service:call_graph", 410 "//tensorflow/compiler/xla/service:copy_insertion", 411 "//tensorflow/compiler/xla/service:hlo", 412 "//tensorflow/compiler/xla/service:hlo_dataflow_analysis", 413 "//tensorflow/compiler/xla/service:hlo_pass", 414 "//tensorflow/core:lib", 415 ], 416) 417 418cc_library( 419 name = "fusion_merger", 420 srcs = ["fusion_merger.cc"], 421 hdrs = ["fusion_merger.h"], 422 deps = [ 423 ":instruction_fusion", 424 "//tensorflow/compiler/xla:shape_util", 425 "//tensorflow/compiler/xla:util", 426 "//tensorflow/compiler/xla/service:hlo", 427 "//tensorflow/compiler/xla/service:hlo_cost_analysis", 428 "//tensorflow/compiler/xla/service:hlo_pass", 429 "//tensorflow/core:lib", 430 ], 431) 432 433tf_cc_test( 434 name = "fusion_merger_test", 435 srcs = ["fusion_merger_test.cc"], 436 deps = [ 437 ":fusion_merger", 438 ":instruction_fusion", 439 "//tensorflow/compiler/xla:test_helpers", 440 "//tensorflow/compiler/xla/tests:hlo_test_base", 441 "//tensorflow/compiler/xla/tests:xla_internal_test_main", 442 ], 443) 444 445cc_library( 446 name = "pad_insertion", 447 srcs = ["pad_insertion.cc"], 448 hdrs = ["pad_insertion.h"], 449 deps = [ 450 ":ir_emission_utils", 451 "//tensorflow/compiler/xla:literal_util", 452 "//tensorflow/compiler/xla:util", 453 "//tensorflow/compiler/xla:window_util", 454 "//tensorflow/compiler/xla:xla_data_proto", 455 "//tensorflow/compiler/xla/service:hlo_pass", 456 "//tensorflow/compiler/xla/service:shape_inference", 457 ], 458) 459 460cc_library( 461 name = "gpu_transfer_manager", 462 srcs = ["gpu_transfer_manager.cc"], 463 hdrs = ["gpu_transfer_manager.h"], 464 deps = [ 465 ":gpu_compiler", 466 "//tensorflow/compiler/xla:literal_util", 467 "//tensorflow/compiler/xla:shape_util", 468 "//tensorflow/compiler/xla:status_macros", 469 "//tensorflow/compiler/xla:statusor", 470 "//tensorflow/compiler/xla:types", 471 "//tensorflow/compiler/xla:util", 472 "//tensorflow/compiler/xla:xla_data_proto", 473 "//tensorflow/compiler/xla/service:generic_transfer_manager", 474 "//tensorflow/compiler/xla/service:transfer_manager", 475 "//tensorflow/compiler/xla/service/gpu:infeed_manager", 476 "//tensorflow/core:lib", 477 "//tensorflow/core:stream_executor_no_cuda", 478 "@llvm//:core", 479 ], 480 alwayslink = True, # Contains per-platform transfer manager registration 481) 482 483cc_library( 484 name = "gpu_compiler", 485 srcs = ["gpu_compiler.cc"], 486 hdrs = ["gpu_compiler.h"], 487 deps = [ 488 ":cudnn_convolution_algorithm_picker", 489 ":cudnn_convolution_rewriter", 490 ":fusion_merger", 491 ":gpu_constants", 492 ":gpu_copy_insertion", 493 ":gpu_executable", 494 ":gpu_hlo_support_checker", 495 ":gpu_layout_assignment", 496 ":hlo_schedule", 497 ":instruction_fusion", 498 ":ir_emission_utils", 499 ":ir_emitter", 500 ":pad_insertion", 501 ":partition_assignment", 502 ":stream_assignment", 503 "//tensorflow/compiler/xla:protobuf_util", 504 "//tensorflow/compiler/xla:status_macros", 505 "//tensorflow/compiler/xla:statusor", 506 "//tensorflow/compiler/xla:types", 507 "//tensorflow/compiler/xla:util", 508 "//tensorflow/compiler/xla/service:algebraic_simplifier", 509 "//tensorflow/compiler/xla/service:batchnorm_expander", 510 "//tensorflow/compiler/xla/service:buffer_assignment", 511 "//tensorflow/compiler/xla/service:buffer_liveness", 512 "//tensorflow/compiler/xla/service:call_inliner", 513 "//tensorflow/compiler/xla/service:dot_decomposer", 514 "//tensorflow/compiler/xla/service:executable", 515 "//tensorflow/compiler/xla/service:flatten_call_graph", 516 "//tensorflow/compiler/xla/service:hlo", 517 "//tensorflow/compiler/xla/service:hlo_constant_folding", 518 "//tensorflow/compiler/xla/service:hlo_cse", 519 "//tensorflow/compiler/xla/service:hlo_dce", 520 "//tensorflow/compiler/xla/service:hlo_element_type_converter", 521 "//tensorflow/compiler/xla/service:hlo_pass", 522 "//tensorflow/compiler/xla/service:hlo_pass_pipeline", 523 "//tensorflow/compiler/xla/service:hlo_proto", 524 "//tensorflow/compiler/xla/service:hlo_proto_util", 525 "//tensorflow/compiler/xla/service:hlo_subcomputation_unification", 526 "//tensorflow/compiler/xla/service:hlo_verifier", 527 "//tensorflow/compiler/xla/service:llvm_compiler", 528 "//tensorflow/compiler/xla/service:reduce_precision_insertion", 529 "//tensorflow/compiler/xla/service:reshape_mover", 530 "//tensorflow/compiler/xla/service:transpose_folding", 531 "//tensorflow/compiler/xla/service:tuple_simplifier", 532 "//tensorflow/compiler/xla/service:while_loop_simplifier", 533 "//tensorflow/compiler/xla/service:zero_sized_hlo_elimination", 534 "//tensorflow/compiler/xla/service/gpu:cudnn_batchnorm_rewriter", 535 "//tensorflow/compiler/xla/service/gpu/llvm_gpu_backend", 536 "//tensorflow/compiler/xla/service/llvm_ir:llvm_util", 537 "//tensorflow/core:cuda_libdevice_path", 538 "//tensorflow/core:lib", 539 "//tensorflow/core:lib_internal", 540 "//tensorflow/core:regexp_internal", 541 "//tensorflow/core:stream_executor_no_cuda", 542 "@llvm//:core", 543 "@llvm//:support", 544 ], 545 alwayslink = True, # Contains compiler registration 546) 547 548cc_library( 549 name = "cudnn_batchnorm_rewriter", 550 srcs = ["cudnn_batchnorm_rewriter.cc"], 551 hdrs = ["cudnn_batchnorm_rewriter.h"], 552 deps = [ 553 ":ir_emission_utils", 554 "//tensorflow/compiler/xla:literal_util", 555 "//tensorflow/compiler/xla/service:hlo", 556 "//tensorflow/compiler/xla/service:hlo_pass", 557 ], 558) 559 560cc_library( 561 name = "infeed_manager", 562 srcs = ["infeed_manager.cc"], 563 hdrs = ["infeed_manager.h"], 564 deps = [ 565 "//tensorflow/compiler/xla:types", 566 "//tensorflow/compiler/xla:util", 567 "//tensorflow/core:lib", 568 "//tensorflow/core:stream_executor_no_cuda", 569 ], 570) 571 572cc_library( 573 name = "gpu_layout_assignment", 574 srcs = ["gpu_layout_assignment.cc"], 575 hdrs = ["gpu_layout_assignment.h"], 576 deps = [ 577 ":ir_emission_utils", 578 "//tensorflow/compiler/xla:shape_util", 579 "//tensorflow/compiler/xla:status_macros", 580 "//tensorflow/compiler/xla:xla_data_proto", 581 "//tensorflow/compiler/xla/service:computation_layout", 582 "//tensorflow/compiler/xla/service:hlo", 583 "//tensorflow/compiler/xla/service:layout_assignment", 584 "//tensorflow/core:lib", 585 ], 586) 587 588tf_cc_test( 589 name = "gpu_layout_assignment_test", 590 srcs = ["gpu_layout_assignment_test.cc"], 591 deps = [ 592 ":gpu_layout_assignment", 593 ":ir_emission_utils", 594 "//tensorflow/compiler/xla:shape_layout", 595 "//tensorflow/compiler/xla:shape_util", 596 "//tensorflow/compiler/xla:xla_data_proto", 597 "//tensorflow/compiler/xla/service:computation_layout", 598 "//tensorflow/compiler/xla/service:hlo", 599 "//tensorflow/compiler/xla/tests:hlo_test_base", 600 "//tensorflow/compiler/xla/tests:xla_internal_test_main", # build_cleaner: keep 601 ], 602) 603 604cc_library( 605 name = "hlo_schedule", 606 srcs = ["hlo_schedule.cc"], 607 hdrs = ["hlo_schedule.h"], 608 deps = [ 609 ":stream_assignment", 610 "//tensorflow/compiler/xla:statusor", 611 "//tensorflow/compiler/xla:types", 612 "//tensorflow/compiler/xla:util", 613 "//tensorflow/compiler/xla/service:hlo", 614 "//tensorflow/compiler/xla/service:hlo_ordering", 615 "//tensorflow/compiler/xla/service:hlo_reachability", 616 "//tensorflow/compiler/xla/service:hlo_scheduling", 617 ], 618) 619 620tf_cc_test( 621 name = "hlo_schedule_test", 622 srcs = [ 623 "hlo_schedule_test.cc", 624 ], 625 deps = [ 626 ":hlo_schedule", 627 ":stream_assignment", 628 "//tensorflow/compiler/xla:test_helpers", 629 "//tensorflow/compiler/xla:types", 630 "//tensorflow/compiler/xla/service:hlo", 631 "//tensorflow/compiler/xla/tests:hlo_test_base", 632 "//tensorflow/compiler/xla/tests:xla_internal_test_main", 633 ], 634) 635 636cc_library( 637 name = "while_transformer", 638 srcs = ["while_transformer.cc"], 639 hdrs = ["while_transformer.h"], 640 deps = [ 641 "//tensorflow/compiler/xla:literal_util", 642 "//tensorflow/compiler/xla:shape_util", 643 "//tensorflow/compiler/xla:status_macros", 644 "//tensorflow/compiler/xla:statusor", 645 "//tensorflow/compiler/xla:util", 646 "//tensorflow/compiler/xla/service:hlo", 647 "//tensorflow/core:lib", 648 ], 649) 650 651tf_cc_test( 652 name = "while_transformer_test", 653 srcs = ["while_transformer_test.cc"], 654 deps = [ 655 ":instruction_fusion", 656 ":while_transformer", 657 "//tensorflow/compiler/xla:shape_util", 658 "//tensorflow/compiler/xla:test", 659 "//tensorflow/compiler/xla:test_helpers", 660 "//tensorflow/compiler/xla/service:copy_insertion", 661 "//tensorflow/compiler/xla/service:hlo_verifier", 662 "//tensorflow/compiler/xla/tests:hlo_test_base", 663 "//tensorflow/compiler/xla/tests:xla_internal_test_main", 664 "//tensorflow/core:test", 665 ], 666) 667 668cc_library( 669 name = "gpu_hlo_support_checker", 670 srcs = ["gpu_hlo_support_checker.cc"], 671 hdrs = ["gpu_hlo_support_checker.h"], 672 deps = [ 673 "//tensorflow/compiler/xla:shape_util", 674 "//tensorflow/compiler/xla:xla_data_proto", 675 "//tensorflow/compiler/xla/service:hlo_pass", 676 "//tensorflow/core:lib", 677 ], 678) 679 680tf_cc_test( 681 name = "gpu_hlo_support_checker_test", 682 srcs = ["gpu_hlo_support_checker_test.cc"], 683 deps = [ 684 ":gpu_hlo_support_checker", 685 "//tensorflow/compiler/xla:shape_util", 686 "//tensorflow/compiler/xla:test", 687 "//tensorflow/compiler/xla/tests:hlo_test_base", 688 "//tensorflow/compiler/xla/tests:xla_internal_test_main", 689 "//tensorflow/core:protos_all_cc", 690 "//tensorflow/core:test", 691 ], 692) 693 694# ----------------------------------------------------------------------------- 695 696filegroup( 697 name = "all_files", 698 srcs = glob( 699 ["**/*"], 700 exclude = [ 701 "**/METADATA", 702 "**/OWNERS", 703 ], 704 ), 705 visibility = ["//tensorflow:__subpackages__"], 706) 707