blob: f413d388a79b2326c81453d84634bc7fe807cdb2 [file] [log] [blame]
# Description:
# GPU-specific components in XLA service implementation.
load("@bazel_skylib//rules:common_settings.bzl", "bool_flag")
load(
"//tensorflow/tsl/platform:build_config.bzl",
"tf_proto_library",
)
load(
"//tensorflow/tsl/platform:build_config_root.bzl",
"if_static",
"tf_cuda_tests_tags",
)
load("//tensorflow/tsl:tsl.bzl", "if_google", "if_nccl", "tsl_copts", "tsl_gpu_library")
load(
"@local_config_rocm//rocm:build_defs.bzl",
"if_rocm_is_configured",
)
load("//tensorflow/compiler/xla:xla.bzl", "xla_cc_test")
load("//tensorflow/compiler/xla/tests:build_defs.bzl", "xla_test")
load(
"//tensorflow/compiler/xla/stream_executor:build_defs.bzl",
"if_gpu_is_configured",
)
load(
"//tensorflow/tsl/platform/default:cuda_build_defs.bzl",
"if_cuda_is_configured",
)
load("//tensorflow/tsl:tsl.default.bzl", "filegroup", "get_compatible_with_cloud")
package(
# copybara:uncomment default_applicable_licenses = ["//tensorflow:license"],
default_visibility = [":friends"],
licenses = ["notice"],
)
package_group(
name = "friends",
includes = [
"//tensorflow/compiler/xla:friends",
],
)
# Filegroup used to collect source files for dependency checking.
filegroup(
name = "c_srcs",
data = glob([
"**/*.cc",
"**/*.h",
]),
)
tf_proto_library(
name = "backend_configs",
srcs = ["backend_configs.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
protodeps = [
"//tensorflow/compiler/xla:xla_data_proto",
"//tensorflow/compiler/xla/stream_executor:dnn_proto",
"//tensorflow/compiler/xla:autotuning_proto",
],
)
xla_cc_test(
name = "backend_configs_test",
srcs = ["backend_configs_test.cc"],
deps = [
":backend_configs_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
"//tensorflow/tsl/platform:status_matchers",
],
)
cc_library(
name = "gpu_executable_run_options",
srcs = ["gpu_executable_run_options.cc"],
hdrs = ["gpu_executable_run_options.h"],
compatible_with = get_compatible_with_cloud(),
visibility = ["//visibility:public"],
deps = [
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:types",
"//tensorflow/compiler/xla/service:executable",
"//tensorflow/compiler/xla/service:global_device_id",
"//tensorflow/compiler/xla/stream_executor",
"@com_google_absl//absl/algorithm:container",
],
)
cc_library(
name = "gpu_constants",
hdrs = ["gpu_constants.h"],
deps = [
"//tensorflow/compiler/xla:types",
],
)
cc_library(
name = "gpu_types",
hdrs = ["gpu_types.h"],
deps = [
"//tensorflow/compiler/xla:types",
"//tensorflow/compiler/xla/stream_executor:device_description",
"@com_google_absl//absl/types:variant",
],
)
cc_library(
name = "launch_dimensions",
srcs = [
"launch_dimensions.cc",
],
hdrs = [
"launch_dimensions.h",
],
compatible_with = get_compatible_with_cloud(),
deps = [
":gpu_device_info",
"//tensorflow/compiler/xla:debug_options_flags",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla/mlir_hlo:lhlo",
"//tensorflow/tsl/platform:logging",
"@llvm-project//mlir:IR",
],
)
cc_library(
name = "custom_call_thunk",
srcs = ["custom_call_thunk.cc"],
hdrs = ["custom_call_thunk.h"],
local_defines = if_cuda_is_configured([
"GOOGLE_CUDA=1",
]),
deps = [
":buffer_allocations",
":thunk",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla/service:buffer_assignment",
"//tensorflow/compiler/xla/service:custom_call_status_internal",
"//tensorflow/compiler/xla/stream_executor/gpu:gpu_stream_header",
"//tensorflow/compiler/xla/stream_executor/gpu:gpu_types_header",
"//tensorflow/tsl/platform:errors",
"@com_google_absl//absl/strings:str_format",
],
)
xla_cc_test(
name = "custom_call_test",
srcs = if_gpu_is_configured(["custom_call_test.cc"]),
local_defines = if_cuda_is_configured(["GOOGLE_CUDA=1"]),
tags = tf_cuda_tests_tags(),
deps = [
"//tensorflow/compiler/xla:debug_options_flags",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:test_helpers",
"//tensorflow/compiler/xla/client:xla_builder",
"//tensorflow/compiler/xla/client/lib:constants",
"//tensorflow/compiler/xla/runtime:module",
"//tensorflow/compiler/xla/runtime:module_registry",
"//tensorflow/compiler/xla/runtime/ffi:ffi_api",
"//tensorflow/compiler/xla/service:custom_call_status",
"//tensorflow/compiler/xla/service:custom_call_target_registry",
"//tensorflow/compiler/xla/service:gpu_plugin",
"//tensorflow/compiler/xla/stream_executor/gpu:gpu_types_header",
"//tensorflow/compiler/xla/tests:client_library_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main", # fixdeps: keep
"//tensorflow/tsl/lib/core:status_test_util",
"//tensorflow/tsl/platform:test",
] + if_cuda_is_configured([
"@local_config_cuda//cuda:cuda_headers",
]) + if_rocm_is_configured([
"@local_config_rocm//rocm:rocm_headers",
]),
)
xla_cc_test(
name = "gpu_copy_insertion_test",
srcs = if_gpu_is_configured(["gpu_copy_insertion_test.cc"]),
tags = tf_cuda_tests_tags(),
deps = if_gpu_is_configured([
":gpu_compiler",
"//tensorflow/compiler/xla:test",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:copy_insertion",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
]),
)
cc_library(
name = "hlo_to_ir_bindings",
srcs = ["hlo_to_ir_bindings.cc"],
hdrs = ["hlo_to_ir_bindings.h"],
deps = [
":buffer_allocations",
":ir_emission_utils",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service/llvm_ir:buffer_assignment_util",
"//tensorflow/compiler/xla/service/llvm_ir:ir_array",
"//tensorflow/compiler/xla/service/llvm_ir:llvm_util",
"//tensorflow/compiler/xla/service/llvm_ir:tuple_ops",
"//tensorflow/tsl/platform:logging",
"@com_google_absl//absl/container:flat_hash_map",
"@com_google_absl//absl/container:flat_hash_set",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/types:span",
"@llvm-project//llvm:Core",
],
)
cc_library(
name = "target_util",
srcs = ["target_util.cc"],
hdrs = ["target_util.h"],
compatible_with = get_compatible_with_cloud(),
deps = [
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:status",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service/llvm_ir:llvm_type_conversion_util",
"//tensorflow/compiler/xla/service/llvm_ir:llvm_util",
"//tensorflow/tsl/platform:logging",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/types:span",
"@llvm-project//llvm:Core",
"@llvm-project//llvm:Support",
"@llvm-project//llvm:TargetParser",
],
)
xla_cc_test(
name = "target_util_test",
srcs = ["target_util_test.cc"],
deps = [
":target_util",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
"//tensorflow/tsl/platform:test",
"@llvm-project//llvm:Core",
],
)
cc_library(
name = "gpu_device_info",
srcs = ["gpu_device_info.cc"],
hdrs = ["gpu_device_info.h"],
compatible_with = get_compatible_with_cloud(),
deps = [
"//tensorflow/compiler/xla/stream_executor:device_description_proto_cc",
"//tensorflow/compiler/xla/stream_executor:stream_executor_headers",
],
)
cc_library(
name = "gpu_device_info_for_tests",
testonly = 1,
srcs = ["gpu_device_info_for_tests.cc"],
hdrs = ["gpu_device_info_for_tests.h"],
compatible_with = get_compatible_with_cloud(),
deps = [
":gpu_device_info",
],
)
xla_cc_test(
name = "gpu_device_info_test",
srcs = ["gpu_device_info_test.cc"],
tags = tf_cuda_tests_tags(),
deps = [
":gpu_device_info",
":gpu_device_info_for_tests",
"//tensorflow/compiler/xla/service:pattern_matcher_gmock",
"//tensorflow/compiler/xla/stream_executor",
"//tensorflow/compiler/xla/stream_executor:device_description",
"//tensorflow/compiler/xla/stream_executor/gpu:gpu_executor_header",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
"//tensorflow/tsl/platform:test",
"@com_google_absl//absl/strings",
] + if_cuda_is_configured([
"@local_config_cuda//cuda:cuda_headers",
"//tensorflow/compiler/xla/stream_executor/cuda:cuda_gpu_executor_header",
]) + if_rocm_is_configured([
"@local_config_rocm//rocm:rocm_headers",
"//tensorflow/compiler/xla/stream_executor/rocm:rocm_gpu_executor_header",
]),
)
cc_library(
name = "ir_emitter",
srcs = [
"ir_emitter.cc",
"ir_emitter_context.cc",
"ir_emitter_nested.cc",
"ir_emitter_unnested.cc",
],
hdrs = [
"ir_emitter.h",
"ir_emitter_context.h",
"ir_emitter_nested.h",
"ir_emitter_unnested.h",
"kernel_mapping_scheme.h",
],
copts = if_cuda_is_configured(["-DGOOGLE_CUDA=1"]),
deps = [
":backend_configs_cc",
":buffer_allocations",
":elemental_ir_emitter",
":fft_thunk",
":gpu_asm_opts_util",
":gpu_constants",
":gpu_conv_runner",
":gpu_device_info",
":gpu_executable",
":gpu_fused_mha_runner",
":gpu_fusible",
":hlo_to_ir_bindings",
":ir_emission_utils",
":launch_dimensions",
":matmul_utils",
":nccl_collective_thunks",
":parallel_loop_emitter",
":target_util",
":thunk",
"//tensorflow/compiler/xla:autotuning_proto_cc",
"//tensorflow/compiler/xla:literal",
"//tensorflow/compiler/xla:permutation_util",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:types",
"//tensorflow/compiler/xla:union_find",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:window_util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/hlo/utils:hlo_query",
"//tensorflow/compiler/xla/mlir_hlo",
"//tensorflow/compiler/xla/mlir_hlo:lhlo",
"//tensorflow/compiler/xla/mlir_hlo:lhlo_gpu",
"//tensorflow/compiler/xla/mlir_hlo:transforms_gpu_passes",
"//tensorflow/compiler/xla/service:buffer_assignment",
"//tensorflow/compiler/xla/service:collective_ops_utils",
"//tensorflow/compiler/xla/service:custom_call_status",
"//tensorflow/compiler/xla/service:custom_call_target_registry",
"//tensorflow/compiler/xla/service:elemental_ir_emitter",
"//tensorflow/compiler/xla/service:hlo_execution_profile",
"//tensorflow/compiler/xla/service:name_uniquer",
"//tensorflow/compiler/xla/service:pattern_matcher",
"//tensorflow/compiler/xla/service:shape_inference",
"//tensorflow/compiler/xla/service:while_loop_analysis",
"//tensorflow/compiler/xla/service/llvm_ir:buffer_assignment_util",
"//tensorflow/compiler/xla/service/llvm_ir:dynamic_update_slice_util",
"//tensorflow/compiler/xla/service/llvm_ir:fused_ir_emitter",
"//tensorflow/compiler/xla/service/llvm_ir:ir_array",
"//tensorflow/compiler/xla/service/llvm_ir:ir_builder_mixin",
"//tensorflow/compiler/xla/service/llvm_ir:kernel_support_library",
"//tensorflow/compiler/xla/service/llvm_ir:llvm_loop",
"//tensorflow/compiler/xla/service/llvm_ir:llvm_type_conversion_util",
"//tensorflow/compiler/xla/service/llvm_ir:llvm_util",
"//tensorflow/compiler/xla/service/llvm_ir:loop_emitter",
"//tensorflow/compiler/xla/service/llvm_ir:sort_util",
"//tensorflow/compiler/xla/service/llvm_ir:tuple_ops",
"//tensorflow/compiler/xla/translate/hlo_to_mhlo:hlo_module_importer",
"//tensorflow/compiler/xla/translate/hlo_to_mhlo:hlo_utils",
"//tensorflow/compiler/xla/translate/mhlo_to_hlo:attribute_exporter",
"//tensorflow/compiler/xla/translate/mhlo_to_hlo:location_exporter",
"//tensorflow/compiler/xla/translate/mhlo_to_hlo:mlir_hlo_to_hlo",
"//tensorflow/compiler/xla/translate/mhlo_to_hlo:type_to_shape",
"//tensorflow/compiler/xla/translate/mhlo_to_lhlo_with_xla",
"//tensorflow/tsl/platform:errors",
"//tensorflow/tsl/platform:human_readable_json",
"//tensorflow/tsl/platform:logging",
"//tensorflow/tsl/platform:status",
"//tensorflow/tsl/platform:statusor",
"//tensorflow/tsl/protobuf:dnn_proto_cc",
"@com_google_absl//absl/algorithm:container",
"@com_google_absl//absl/container:flat_hash_map",
"@com_google_absl//absl/container:flat_hash_set",
"@com_google_absl//absl/container:inlined_vector",
"@com_google_absl//absl/memory",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/strings:str_format",
"@com_google_absl//absl/types:span",
"@llvm-project//llvm:Core",
"@llvm-project//llvm:Linker",
"@llvm-project//llvm:Support",
"@llvm-project//mlir:ArithDialect",
"@llvm-project//mlir:BuiltinToLLVMIRTranslation",
"@llvm-project//mlir:FuncDialect",
"@llvm-project//mlir:FuncExtensions",
"@llvm-project//mlir:GPUDialect",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:LLVMDialect",
"@llvm-project//mlir:LLVMToLLVMIRTranslation",
"@llvm-project//mlir:MemRefDialect",
"@llvm-project//mlir:NVVMToLLVMIRTranslation",
"@llvm-project//mlir:ROCDLToLLVMIRTranslation",
"@llvm-project//mlir:Support",
"@llvm-project//mlir:ToLLVMIRTranslation",
] + if_gpu_is_configured([
":triangular_solve_thunk",
":cholesky_thunk",
]) + if_cuda_is_configured([
":cublas_lt_matmul_thunk",
":ir_emitter_triton",
]),
)
cc_library(
name = "ir_emitter_triton",
srcs = if_cuda_is_configured(["ir_emitter_triton.cc"]),
hdrs = if_cuda_is_configured(["ir_emitter_triton.h"]),
deps = [
":gemm_rewriter_triton",
":gpu_device_info",
":ir_emission_utils",
":launch_dimensions",
":matmul_utils",
":target_util",
"//tensorflow/compiler/xla:autotuning_proto_cc",
"//tensorflow/compiler/xla:comparison_util",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/hlo/utils:hlo_query",
"//tensorflow/compiler/xla/mlir_hlo:map_mhlo_to_scalar_op",
"//tensorflow/compiler/xla/service/gpu/llvm_gpu_backend",
"//tensorflow/compiler/xla/service/llvm_ir:llvm_util",
"//tensorflow/compiler/xla/translate/hlo_to_mhlo:hlo_module_importer",
"//tensorflow/tsl/platform:errors",
"//tensorflow/tsl/platform:logging",
"//tensorflow/tsl/platform:path",
"//tensorflow/tsl/platform:tensor_float_32_hdr_lib",
"@com_google_absl//absl/container:flat_hash_map",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/types:span",
"@llvm-project//llvm:Linker",
"@llvm-project//llvm:Support",
"@llvm-project//llvm:ir_headers",
"@llvm-project//mlir:ArithDialect",
"@llvm-project//mlir:ArithToLLVM",
"@llvm-project//mlir:BuiltinToLLVMIRTranslation",
"@llvm-project//mlir:ExecutionEngineUtils",
"@llvm-project//mlir:FuncDialect",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:IndexToLLVM",
"@llvm-project//mlir:LLVMDialect",
"@llvm-project//mlir:LLVMToLLVMIRTranslation",
"@llvm-project//mlir:MathDialect",
"@llvm-project//mlir:NVVMDialect",
"@llvm-project//mlir:NVVMToLLVMIRTranslation",
"@llvm-project//mlir:Pass",
"@llvm-project//mlir:SCFDialect",
"@llvm-project//mlir:SCFToControlFlow",
"@llvm-project//mlir:Support",
"@llvm-project//mlir:ToLLVMIRTranslation",
"@llvm-project//mlir:Transforms",
"@triton//:TritonDialect",
"@triton//:TritonTransforms",
] + if_cuda_is_configured([
"@triton//:TritonGPUToLLVM",
"@triton//:TritonGPUTransforms",
"@triton//:TritonLLVMIR",
"@triton//:TritonToTritonGPU",
]),
)
xla_test(
name = "ir_emitter_triton_test",
srcs = if_cuda_is_configured(["ir_emitter_triton_test.cc"]),
backend_tags = {"gpu": [
"requires-gpu-sm70",
]},
backends = [
"gpu",
],
shard_count = 10,
tags = ["nomac"],
deps = [
":backend_configs_cc",
":gpu_device_info_for_tests",
":ir_emission_utils",
":ir_emitter_triton",
":launch_dimensions",
"//tensorflow/compiler/xla:autotuning_proto_cc",
"//tensorflow/compiler/xla:error_spec",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_codegen_test",
"//tensorflow/compiler/xla/stream_executor:device_description",
"//tensorflow/compiler/xla/stream_executor/cuda:cublas_plugin",
"//tensorflow/compiler/xla/tests:verified_hlo_module",
"//tensorflow/compiler/xla/tests:xla_internal_test_main", # fixdeps: keep
"//tensorflow/tsl/platform:status_matchers",
"//tensorflow/tsl/platform:statusor",
"//tensorflow/tsl/platform:tensor_float_32_hdr_lib",
"@llvm-project//llvm:ir_headers",
"@llvm-project//mlir:IR",
],
)
xla_test(
name = "ir_emitter_triton_large_test",
srcs = if_cuda_is_configured(["ir_emitter_triton_large_test.cc"]),
backend_tags = {"gpu": [
"requires-gpu-sm70",
]},
backends = [
"gpu",
],
tags = [
"large",
"no_oss",
"nomac",
"notap",
],
deps = [
"//tensorflow/compiler/xla:error_spec",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_codegen_test",
"//tensorflow/compiler/xla/tests:xla_internal_test_main", # fixdeps: keep
],
)
xla_test(
name = "ir_emitter_triton_parametrized_test",
srcs = if_cuda_is_configured(["ir_emitter_triton_parametrized_test.cc"]),
backend_tags = {"gpu": [
"requires-gpu-sm70",
]},
backends = [
"gpu",
],
shard_count = 10,
tags = ["nomac"],
deps = [
":gemm_rewriter_triton",
"//tensorflow/compiler/xla:comparison_util",
"//tensorflow/compiler/xla:error_spec",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_codegen_test",
"//tensorflow/compiler/xla/stream_executor:device_description",
"//tensorflow/compiler/xla/stream_executor/cuda:cublas_plugin",
"//tensorflow/compiler/xla/tests:xla_internal_test_main", # fixdeps: keep
"//tensorflow/tsl/platform:tensor_float_32_hdr_lib",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "triton_autotuner",
srcs = if_cuda_is_configured(["triton_autotuner.cc"]),
hdrs = if_cuda_is_configured(["triton_autotuner.h"]),
deps = if_cuda_is_configured([
":bitcast_remover",
":buffer_comparator",
":compile_module_to_llvm_ir",
":gemm_rewriter_triton",
":gpu_asm_opts_util",
":gpu_device_info",
":gpu_executable",
":gpu_float_support",
":gpu_fusible",
":autotuner_util",
":instruction_fusion",
":ir_emission_utils",
":ir_emitter_triton",
":launch_dimensions",
":stream_executor_util",
":target_constants",
":target_util",
":thunk",
"@com_google_absl//absl/base:core_headers",
"@com_google_absl//absl/container:flat_hash_set",
"@com_google_absl//absl/container:node_hash_map",
"@com_google_absl//absl/status",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/synchronization",
"@com_google_absl//absl/time",
"@com_google_absl//absl/types:span",
"@llvm-project//llvm:ir_headers",
"//tensorflow/compiler/xla:autotune_results_proto_cc",
"//tensorflow/compiler/xla:permutation_util",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:backend",
"//tensorflow/compiler/xla/service:call_inliner",
"//tensorflow/compiler/xla/service:executable",
"//tensorflow/compiler/xla/service:float_normalization",
"//tensorflow/compiler/xla/service:hlo_module_config",
"//tensorflow/compiler/xla/service:hlo_module_util",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service:hlo_verifier",
"//tensorflow/compiler/xla/service:platform_util",
"//tensorflow/compiler/xla/service:shaped_buffer",
"//tensorflow/compiler/xla/service/gpu/llvm_gpu_backend",
"//tensorflow/compiler/xla/stream_executor:device_description",
"//tensorflow/compiler/xla/stream_executor:device_memory",
"//tensorflow/compiler/xla/stream_executor/gpu:asm_compiler_header",
"//tensorflow/compiler/xla/stream_executor/gpu:gpu_asm_opts",
"//tensorflow/compiler/xla/stream_executor/gpu:gpu_stream_header",
"//tensorflow/compiler/xla/stream_executor/gpu:gpu_timer",
"//tensorflow/compiler/xla/stream_executor/gpu:redzone_allocator",
"//tensorflow/compiler/xla/tests:test_utils",
"//tensorflow/tsl/platform:env",
"//tensorflow/tsl/platform:errors",
"//tensorflow/tsl/platform:status",
"//tensorflow/tsl/platform:blocking_counter",
"//tensorflow/tsl/platform:statusor",
"//tensorflow/compiler/xla:autotuning_proto_cc",
"//tensorflow/tsl/util/proto:proto_utils",
]) + ["@com_google_absl//absl/algorithm:container"],
)
xla_test(
name = "triton_autotuner_test",
srcs = if_cuda_is_configured(["triton_autotuner_test.cc"]),
backend_tags = {"gpu": [
"requires-gpu-sm70",
]},
backends = [
"gpu",
],
tags = ["nomac"],
deps = [
":autotuner_util",
":backend_configs_cc",
":gemm_rewriter_triton",
":triton_autotuner",
"//tensorflow/compiler/xla:autotuning_proto_cc",
"//tensorflow/compiler/xla:xla_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_pass_pipeline",
"//tensorflow/compiler/xla/service:pattern_matcher",
"//tensorflow/compiler/xla/service:pattern_matcher_gmock",
"//tensorflow/compiler/xla/stream_executor:device_description",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:test_utils",
"//tensorflow/compiler/xla/tests:verified_hlo_module",
"//tensorflow/compiler/xla/tests:xla_internal_test_main", # fixdeps: keep
"//tensorflow/tsl/lib/core:status_test_util",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "parallel_loop_emitter",
srcs = ["parallel_loop_emitter.cc"],
hdrs = ["parallel_loop_emitter.h"],
compatible_with = get_compatible_with_cloud(),
deps = [
":launch_dimensions",
":target_util",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/service/llvm_ir:ir_array",
"//tensorflow/compiler/xla/service/llvm_ir:kernel_support_library",
"//tensorflow/compiler/xla/service/llvm_ir:llvm_loop",
"//tensorflow/compiler/xla/service/llvm_ir:llvm_util",
"//tensorflow/compiler/xla/service/llvm_ir:loop_emitter",
"//tensorflow/tsl/platform:errors",
"//tensorflow/tsl/platform:logging",
"@llvm-project//llvm:Core",
],
)
cc_library(
name = "elemental_ir_emitter",
srcs = ["elemental_ir_emitter.cc"],
hdrs = ["elemental_ir_emitter.h"],
deps = [
":backend_configs_cc",
":target_util",
"//tensorflow/compiler/xla:literal",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:types",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:window_util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:elemental_ir_emitter",
"//tensorflow/compiler/xla/service:hlo_module_config",
"//tensorflow/compiler/xla/service/llvm_ir:ir_array",
"//tensorflow/compiler/xla/service/llvm_ir:llvm_loop",
"//tensorflow/compiler/xla/service/llvm_ir:llvm_util",
"//tensorflow/compiler/xla/service/llvm_ir:loop_emitter",
"//tensorflow/compiler/xla/service/llvm_ir:math_ops",
"//tensorflow/tsl/platform:logging",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/types:span",
"@llvm-project//llvm:Core",
"@llvm-project//llvm:Support",
],
)
cc_library(
name = "buffer_allocations",
srcs = ["buffer_allocations.cc"],
hdrs = ["buffer_allocations.h"],
deps = [
":gpu_constants",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:types",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla/service:buffer_assignment",
"//tensorflow/compiler/xla/stream_executor",
"//tensorflow/compiler/xla/stream_executor:device_memory_allocator",
"//tensorflow/tsl/lib/gtl:map_util",
"//tensorflow/tsl/platform:errors",
"//tensorflow/tsl/platform:logging",
"@com_google_absl//absl/container:flat_hash_map",
"@com_google_absl//absl/memory",
"@com_google_absl//absl/strings:str_format",
"@com_google_absl//absl/types:span",
],
)
cc_library(
name = "thunk",
srcs = ["thunk.cc"],
hdrs = ["thunk.h"],
deps = [
":buffer_allocations",
":gpu_executable_run_options",
"//tensorflow/compiler/xla:executable_run_options",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:executable",
"//tensorflow/compiler/xla/stream_executor",
"//tensorflow/tsl/platform:status",
"@llvm-project//mlir:IR",
],
)
tsl_gpu_library(
name = "nccl_collective_thunks",
srcs = [
"nccl_all_gather_thunk.cc",
"nccl_all_reduce_thunk.cc",
"nccl_all_to_all_thunk.cc",
"nccl_collective_permute_thunk.cc",
"nccl_collective_thunk.cc",
"nccl_p2p_thunk_common.cc",
"nccl_recv_thunk.cc",
"nccl_send_thunk.cc",
],
hdrs = [
"nccl_all_gather_thunk.h",
"nccl_all_reduce_thunk.h",
"nccl_all_to_all_thunk.h",
"nccl_collective_permute_thunk.h",
"nccl_collective_thunk.h",
"nccl_p2p_thunk_common.h",
"nccl_recv_thunk.h",
"nccl_send_thunk.h",
],
# Override tsl_gpu_library()'s internal default value of ["//buildenv/target:gce"].
compatible_with = [],
deps = [
":buffer_allocations",
":ir_emission_utils",
":nccl_utils",
":thunk",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/mlir_hlo:lhlo",
"//tensorflow/compiler/xla/mlir_hlo:lhlo_gpu",
"//tensorflow/compiler/xla/service:buffer_assignment",
"//tensorflow/compiler/xla/service:collective_ops_utils",
"//tensorflow/compiler/xla/service:global_device_id",
"//tensorflow/compiler/xla/service:hlo_parser",
"//tensorflow/compiler/xla/service/llvm_ir:llvm_util",
"//tensorflow/compiler/xla/stream_executor/gpu:gpu_activation",
"//tensorflow/compiler/xla/stream_executor/gpu:gpu_activation_header",
"//tensorflow/compiler/xla/stream_executor/gpu:gpu_stream",
"//tensorflow/compiler/xla/translate/hlo_to_mhlo:hlo_utils",
"//tensorflow/compiler/xla/translate/mhlo_to_hlo:attribute_exporter",
"//tensorflow/compiler/xla/translate/mhlo_to_hlo:type_to_shape",
"//tensorflow/tsl/platform:logging",
"@com_google_absl//absl/algorithm:container",
"@com_google_absl//absl/base",
"@com_google_absl//absl/container:flat_hash_map",
"@com_google_absl//absl/container:flat_hash_set",
"@com_google_absl//absl/functional:function_ref",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/strings:str_format",
"@com_google_absl//absl/synchronization",
"@llvm-project//mlir:IR",
],
)
# Empty library to implement nested dependency conditions.
cc_library(name = "empty")
# If NCCL/RCCL is supported, this target '#defines XLA_ENABLE_XCCL' and
# provides a header which #includes NCCL/RCCL.
alias(
name = "nccl_utils",
actual = if_nccl(":_nccl_utils", ":empty"),
)
# Do not depend on this target, but rather depend on :nccl_utils.
tsl_gpu_library(
name = "_nccl_utils",
srcs = if_gpu_is_configured(["nccl_utils.cc"]),
hdrs = if_gpu_is_configured(["nccl_utils.h"]),
# Override tsl_gpu_library()'s internal default value of ["//buildenv/target:gce"].
compatible_with = [],
defines = if_gpu_is_configured(["XLA_ENABLE_XCCL"]),
tags = ["manual"], # Only builds with if_nccl().
deps = if_gpu_is_configured([
":gpu_executable_run_options",
":thunk",
"@com_google_absl//absl/strings:str_format",
"@com_google_absl//absl/container:flat_hash_map",
"@com_google_absl//absl/synchronization",
"@com_google_absl//absl/time",
"//tensorflow/compiler/xla:debug_options_flags",
"//tensorflow/compiler/xla:status",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/service:collective_ops_utils",
"//tensorflow/compiler/xla/service:global_device_id",
"//tensorflow/compiler/xla/service:rendezvous",
"//tensorflow/tsl/platform:logging",
"//tensorflow/tsl/platform:env",
]) + if_cuda_is_configured([
"@local_config_nccl//:nccl",
]) + if_rocm_is_configured([
"@local_config_rocm//rocm:rccl",
]),
)
# TODO(b/244780257): Remove this config.
bool_flag(
name = "enable_xlir",
build_setting_default = if_google(True, False),
)
cc_library(
name = "non_atomically_upgradeable_rw_lock",
srcs = [],
hdrs = [
"non_atomically_upgradeable_rw_lock.h",
],
deps = [
"@com_google_absl//absl/synchronization",
],
)
xla_cc_test(
name = "non_atomically_upgradeable_rw_lock_test",
srcs = ["non_atomically_upgradeable_rw_lock_test.cc"],
deps = [
":non_atomically_upgradeable_rw_lock",
"//tensorflow/tsl/platform:test",
"@com_google_googletest//:gtest_main",
],
)
cc_library(
name = "gpu_executable",
srcs = [
"conditional_thunk.cc",
"convolution_thunk.cc",
"copy_thunk.cc",
"for_thunk.cc",
"fused_mha_thunk.cc",
"gpu_executable.cc",
"infeed_thunk.cc",
"kernel_thunk.cc",
"memset_thunk.cc",
"outfeed_thunk.cc",
"replica_id_thunk.cc",
"sequential_thunk.cc",
"while_thunk.cc",
],
hdrs = [
"conditional_thunk.h",
"convolution_thunk.h",
"copy_thunk.h",
"custom_call_thunk.h",
"for_thunk.h",
"fused_mha_thunk.h",
"gemm_thunk.h",
"gpu_executable.h",
"infeed_thunk.h",
"kernel_thunk.h",
"memset_thunk.h",
"outfeed_thunk.h",
"replica_id_thunk.h",
"sequential_thunk.h",
"while_thunk.h",
],
deps = [
":backend_configs_cc",
":buffer_allocations",
":cusolver_context",
":custom_call_thunk",
":fft_thunk",
":gemm_thunk",
":gpu_asm_opts_util",
":gpu_constants",
":gpu_conv_runner",
":gpu_executable_run_options",
":gpu_fused_mha_runner",
":gpu_types",
":io_feed_manager",
":ir_emission_utils",
":launch_dimensions",
":matmul_utils",
":nccl_collective_thunks",
":non_atomically_upgradeable_rw_lock",
":stream_executor_util",
":thunk",
"//tensorflow/compiler/xla:array2d",
"//tensorflow/compiler/xla:literal",
"//tensorflow/compiler/xla:refcounting_hash_map",
"//tensorflow/compiler/xla:shape_tree",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:status",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:types",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/mlir/runtime/ir:rt",
"//tensorflow/compiler/xla/mlir/runtime/transforms:compilation_pipeline_gpu",
"//tensorflow/compiler/xla/mlir/runtime/transforms:type_converter",
"//tensorflow/compiler/xla/mlir_hlo:lhlo_gpu",
"//tensorflow/compiler/xla/runtime:executable",
"//tensorflow/compiler/xla/service:buffer_assignment",
"//tensorflow/compiler/xla/service:custom_call_status_internal",
"//tensorflow/compiler/xla/service:executable",
"//tensorflow/compiler/xla/service:hlo_dataflow_analysis",
"//tensorflow/compiler/xla/service:hlo_execution_profile",
"//tensorflow/compiler/xla/service:hlo_parser",
"//tensorflow/compiler/xla/service:shaped_buffer",
"//tensorflow/compiler/xla/service:xla_debug_info_manager",
"//tensorflow/compiler/xla/service/gpu/runtime:executable",
"//tensorflow/compiler/xla/service/gpu/runtime:support",
"//tensorflow/compiler/xla/stream_executor",
"//tensorflow/compiler/xla/stream_executor:blas",
"//tensorflow/compiler/xla/stream_executor:device_memory",
"//tensorflow/compiler/xla/stream_executor:device_memory_allocator",
"//tensorflow/compiler/xla/stream_executor:kernel",
"//tensorflow/compiler/xla/stream_executor:scratch_allocator",
"//tensorflow/compiler/xla/stream_executor/gpu:asm_compiler",
"//tensorflow/compiler/xla/stream_executor/gpu:gpu_activation",
"//tensorflow/compiler/xla/stream_executor/gpu:gpu_asm_opts",
"//tensorflow/compiler/xla/stream_executor/gpu:gpu_executor_header",
"//tensorflow/compiler/xla/stream_executor/gpu:gpu_stream",
"//tensorflow/compiler/xla/stream_executor/gpu:gpu_types_header",
"//tensorflow/tsl/platform:errors",
"//tensorflow/tsl/platform:logging",
"//tensorflow/tsl/platform:status",
"//tensorflow/tsl/profiler/lib:scoped_annotation",
"//tensorflow/tsl/profiler/lib:traceme",
"@com_google_absl//absl/algorithm:container",
"@com_google_absl//absl/base",
"@com_google_absl//absl/base:core_headers",
"@com_google_absl//absl/container:flat_hash_map",
"@com_google_absl//absl/container:flat_hash_set",
"@com_google_absl//absl/memory",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/strings:str_format",
"@com_google_absl//absl/synchronization",
"@com_google_absl//absl/types:span",
"@com_google_absl//absl/types:variant",
"@llvm-project//mlir:FuncDialect",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:Parser",
"@llvm-project//mlir:Support",
] + if_gpu_is_configured([
":cholesky_thunk",
":precompiled_kernels",
":triangular_solve_thunk",
]) + if_cuda_is_configured([
"//tensorflow/compiler/xla/stream_executor/cuda:cublas_plugin",
"//tensorflow/compiler/xla/stream_executor/cuda:cuda_stream",
"//tensorflow/compiler/xla/stream_executor/cuda:cudnn_plugin",
"//tensorflow/compiler/xla/stream_executor/cuda:cufft_plugin",
"//tensorflow/compiler/xla/stream_executor/cuda:stream_executor_cuda",
"@local_config_cuda//cuda:cuda_headers",
]) + if_rocm_is_configured([
"//tensorflow/compiler/xla/stream_executor/rocm:stream_executor_rocm",
"@local_config_rocm//rocm:rocm_headers",
"//tensorflow/tsl/platform:random",
]),
)
cc_library(
name = "ir_emission_utils",
srcs = ["ir_emission_utils.cc"],
hdrs = ["ir_emission_utils.h"],
compatible_with = get_compatible_with_cloud(),
deps = [
":target_util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/mlir_hlo",
"//tensorflow/compiler/xla/mlir_hlo:lhlo",
"//tensorflow/compiler/xla/service:buffer_assignment",
"//tensorflow/compiler/xla/service:hlo_parser",
"//tensorflow/compiler/xla/service/llvm_ir:llvm_type_conversion_util",
"//tensorflow/compiler/xla/service/llvm_ir:llvm_util",
"//tensorflow/compiler/xla/stream_executor",
"//tensorflow/compiler/xla/translate/mhlo_to_hlo:type_to_shape",
"@com_google_absl//absl/container:flat_hash_set",
"@llvm-project//llvm:Core",
"@llvm-project//mlir:ArithDialect",
],
)
xla_cc_test(
name = "ir_emission_utils_test",
srcs = ["ir_emission_utils_test.cc"],
deps = [
":ir_emission_utils",
"//tensorflow/compiler/xla/mlir_hlo:lhlo",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:test_utils",
"//tensorflow/compiler/xla/tests:xla_internal_test_main", # fixdeps: keep
"//tensorflow/tsl/platform:test",
"@llvm-project//mlir:FuncDialect",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:Parser",
],
)
cc_library(
name = "cublas_cudnn",
srcs = ["cublas_cudnn.cc"],
hdrs = ["cublas_cudnn.h"],
compatible_with = get_compatible_with_cloud(),
deps = [
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/tsl/platform:statusor",
"@com_google_absl//absl/strings",
],
)
# TODO(ezhulenev): Extract `RunCholesky` into a separate library.
cc_library(
name = "cholesky_thunk",
srcs = if_gpu_is_configured(["cholesky_thunk.cc"]),
hdrs = if_gpu_is_configured(["cholesky_thunk.h"]),
deps = if_gpu_is_configured([
":buffer_allocations",
":cusolver_context",
":precompiled_kernels",
":thunk",
"@com_google_absl//absl/base",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/strings:str_format",
"@com_google_absl//absl/types:optional",
"//tensorflow/compiler/xla:types",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/service:buffer_assignment",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/tsl/platform:logging",
"//tensorflow/compiler/xla/stream_executor",
"//tensorflow/compiler/xla/stream_executor:device_memory",
"//tensorflow/compiler/xla/stream_executor:stream_executor_headers",
"//tensorflow/compiler/xla/stream_executor/gpu:gpu_asm_opts",
]) + ["//tensorflow/tsl/platform:status"],
)
# TODO(ezhulenev): Extract `RunTriangularSolve` into a separate library.
cc_library(
name = "triangular_solve_thunk",
srcs = if_gpu_is_configured(["triangular_solve_thunk.cc"]),
hdrs = if_gpu_is_configured(["triangular_solve_thunk.h"]),
deps = if_gpu_is_configured([
":buffer_allocations",
":cusolver_context",
":precompiled_kernels",
":thunk",
"@com_google_absl//absl/base",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/strings:str_format",
"@com_google_absl//absl/types:optional",
"//tensorflow/compiler/xla:types",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/service:buffer_assignment",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/tsl/platform:logging",
"//tensorflow/compiler/xla/stream_executor",
"//tensorflow/compiler/xla/stream_executor:device_memory",
"//tensorflow/compiler/xla/stream_executor:stream_executor_headers",
"//tensorflow/compiler/xla/stream_executor/gpu:gpu_asm_opts",
]) + ["//tensorflow/tsl/platform:status"],
)
cc_library(
name = "fft_thunk",
srcs = ["fft_thunk.cc"],
hdrs = ["fft_thunk.h"],
deps = [
":buffer_allocations",
":thunk",
"//tensorflow/compiler/xla:types",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:buffer_assignment",
"//tensorflow/compiler/xla/stream_executor",
"//tensorflow/compiler/xla/stream_executor:scratch_allocator",
"//tensorflow/compiler/xla/stream_executor:stream_executor_headers",
"//tensorflow/tsl/platform:logging",
"//tensorflow/tsl/platform:status",
"@com_google_absl//absl/container:flat_hash_map",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/strings:str_format",
],
)
cc_library(
name = "gemm_rewriter",
srcs = ["gemm_rewriter.cc"],
hdrs = ["gemm_rewriter.h"],
defines = if_cuda_is_configured(["GOOGLE_CUDA=1"]),
deps = [
":backend_configs_cc",
":cublas_cudnn",
":ir_emission_utils",
":matmul_utils",
"//tensorflow/compiler/xla:literal_comparison",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/evaluator:hlo_evaluator",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_creation_utils",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service:pattern_matcher",
"//tensorflow/compiler/xla/service/gpu:gpu_types",
"//tensorflow/compiler/xla/stream_executor:blas",
"//tensorflow/tsl/platform:errors",
"//tensorflow/tsl/platform:statusor",
"//tensorflow/tsl/protobuf:dnn_proto_cc",
"@com_google_absl//absl/algorithm:container",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "gemm_rewriter_triton",
srcs = ["gemm_rewriter_triton.cc"],
hdrs = ["gemm_rewriter_triton.h"],
deps = [
":backend_configs_cc",
":gpu_types",
":ir_emission_utils",
":matmul_utils",
"//tensorflow/compiler/xla:autotuning_proto_cc",
"//tensorflow/compiler/xla:literal_util",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:status",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/hlo/utils:hlo_query",
"//tensorflow/compiler/xla/service:hlo_creation_utils",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/tsl/platform:errors",
"//tensorflow/tsl/platform:status",
"//tensorflow/tsl/platform:statusor",
"@com_google_absl//absl/algorithm:container",
"@com_google_absl//absl/container:flat_hash_map",
"@com_google_absl//absl/container:flat_hash_set",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/types:span",
],
)
cc_library(
name = "softmax_rewriter_triton",
srcs = ["softmax_rewriter_triton.cc"],
hdrs = ["softmax_rewriter_triton.h"],
deps = [
":backend_configs_cc",
":gpu_types",
":ir_emission_utils",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service:pattern_matcher",
"//tensorflow/tsl/platform:errors",
"@com_google_absl//absl/container:flat_hash_map",
"@com_google_absl//absl/container:flat_hash_set",
"@com_google_absl//absl/strings",
],
)
xla_cc_test(
name = "gemm_rewriter_triton_test",
srcs = ["gemm_rewriter_triton_test.cc"],
deps = [
":gemm_rewriter_triton",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:pattern_matcher_gmock",
"//tensorflow/compiler/xla/stream_executor:device_description",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main", # fixdeps: keep
"//tensorflow/tsl/lib/core:status_test_util",
"//tensorflow/tsl/platform:errors",
"//tensorflow/tsl/platform:status_matchers",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "gemm_thunk",
srcs = ["gemm_thunk.cc"],
hdrs = ["gemm_thunk.h"],
deps = [
":matmul_utils",
":thunk",
"//tensorflow/compiler/xla:status",
"//tensorflow/compiler/xla/service:buffer_assignment",
"//tensorflow/compiler/xla/stream_executor:device_memory",
"//tensorflow/compiler/xla/stream_executor:stream_executor_headers",
"//tensorflow/tsl/platform:logging",
],
)
cc_library(
name = "cublas_lt_matmul_thunk",
srcs = if_cuda_is_configured(["cublas_lt_matmul_thunk.cc"]),
hdrs = if_cuda_is_configured(["cublas_lt_matmul_thunk.h"]),
deps = if_cuda_is_configured([
":matmul_utils",
":thunk",
"//tensorflow/compiler/xla/service:buffer_assignment",
"//tensorflow/compiler/xla:status",
"//tensorflow/compiler/xla/stream_executor:device_memory",
"//tensorflow/compiler/xla/stream_executor:stream_executor_headers",
"//tensorflow/compiler/xla/stream_executor/cuda:cublas_lt_header",
"//tensorflow/compiler/xla/stream_executor/cuda:cublas_plugin",
]) + ["//tensorflow/tsl/platform:logging"],
)
cc_library(
name = "gemm_algorithm_picker",
srcs = if_cuda_is_configured(["gemm_algorithm_picker.cc"]),
hdrs = if_cuda_is_configured(["gemm_algorithm_picker.h"]),
deps = if_cuda_is_configured([
":backend_configs_cc",
":buffer_comparator",
":gemm_thunk",
":gpu_asm_opts_util",
":gpu_conv_runner",
":ir_emission_utils",
":matmul_utils",
":stream_executor_util",
":autotuner_util",
"@com_google_absl//absl/strings",
"//tensorflow/compiler/xla:autotune_results_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla/stream_executor",
"//tensorflow/compiler/xla/stream_executor:blas",
"//tensorflow/compiler/xla/stream_executor/cuda:cublas_lt_header",
"//tensorflow/compiler/xla/stream_executor/cuda:cublas_plugin",
"//tensorflow/compiler/xla/stream_executor:device_memory",
"//tensorflow/compiler/xla/stream_executor:device_memory_allocator",
"//tensorflow/compiler/xla/stream_executor/gpu:redzone_allocator",
"//tensorflow/compiler/xla:util",
"//tensorflow/tsl/platform:errors",
"//tensorflow/tsl/platform:logger",
"//tensorflow/tsl/platform:logging",
"//tensorflow/tsl/platform:statusor",
"//tensorflow/compiler/xla:autotuning_proto_cc",
"//tensorflow/tsl/util/proto:proto_utils",
]),
)
cc_library(
name = "autotuner_util",
srcs = if_gpu_is_configured(["autotuner_util.cc"]),
hdrs = if_gpu_is_configured(["autotuner_util.h"]),
deps = if_gpu_is_configured([
":gpu_asm_opts_util",
"@com_google_absl//absl/base",
"@com_google_absl//absl/strings",
":stream_executor_util",
"//tensorflow/compiler/xla:autotune_results_proto_cc",
"//tensorflow/compiler/xla:autotuning_proto_cc",
"//tensorflow/compiler/xla:types",
"//tensorflow/compiler/xla:xla_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/stream_executor",
"//tensorflow/compiler/xla/stream_executor/gpu:redzone_allocator",
"//tensorflow/tsl/platform:env",
"//tensorflow/tsl/platform:protobuf",
]),
)
xla_cc_test(
name = "gemm_algorithm_picker_test",
srcs = ["gemm_algorithm_picker_test.cc"],
tags = [
"gpu",
"no_oss",
"noasan",
"nomsan",
"requires-gpu-sm70",
],
deps = [
":gemm_algorithm_picker",
":gemm_rewriter",
"//tensorflow/compiler/xla:autotune_results_proto_cc",
"//tensorflow/compiler/xla/service:gpu_plugin",
"//tensorflow/compiler/xla/service:pattern_matcher",
"//tensorflow/compiler/xla/service:pattern_matcher_gmock",
"//tensorflow/compiler/xla/stream_executor:device_description",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/tsl/lib/core:status_test_util",
"//tensorflow/tsl/platform:statusor",
"//tensorflow/tsl/platform:test",
"//tensorflow/tsl/platform:test_main",
"//tensorflow/tsl/protobuf:dnn_proto_cc",
],
)
cc_library(
name = "matmul_utils",
srcs = ["matmul_utils.cc"],
hdrs = ["matmul_utils.h"],
compatible_with = get_compatible_with_cloud(),
defines = if_cuda_is_configured(["GOOGLE_CUDA=1"]),
deps = [
":backend_configs_cc",
":ir_emission_utils",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:types",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/mlir_hlo",
"//tensorflow/compiler/xla/mlir_hlo:lhlo_gpu",
"//tensorflow/compiler/xla/stream_executor:stream_executor_headers",
"//tensorflow/tsl/platform:statusor",
"@com_google_absl//absl/algorithm:container",
"@com_google_absl//absl/types:span",
] + if_cuda_is_configured([
"//tensorflow/compiler/xla/stream_executor/cuda:cublas_lt_header",
"//tensorflow/compiler/xla/stream_executor/cuda:cublas_plugin",
"//tensorflow/tsl/platform:tensor_float_32_hdr_lib",
"//tensorflow/compiler/xla/stream_executor:host_or_device_scalar",
"//tensorflow/compiler/xla/stream_executor:scratch_allocator",
]) + if_static([
"//tensorflow/tsl/platform:tensor_float_32_utils",
]),
)
xla_cc_test(
name = "matmul_utils_test",
srcs = ["matmul_utils_test.cc"],
deps = [
":matmul_utils",
"//tensorflow/compiler/xla:test",
"//tensorflow/compiler/xla/service:hlo_parser",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main", # build_cleaner: keep
"//tensorflow/tsl/platform:status_matchers",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "dot_dimension_sorter",
srcs = ["dot_dimension_sorter.cc"],
hdrs = ["dot_dimension_sorter.h"],
deps = [
"//tensorflow/compiler/xla:permutation_util",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/tsl/platform:logging",
"@com_google_absl//absl/algorithm:container",
"@com_google_absl//absl/types:span",
],
)
xla_cc_test(
name = "dot_dimension_sorter_test",
srcs = ["dot_dimension_sorter_test.cc"],
tags = tf_cuda_tests_tags(),
deps = [
":dot_dimension_sorter",
"//tensorflow/compiler/xla/hlo/utils:hlo_matchers",
"//tensorflow/compiler/xla/service:gpu_plugin",
"//tensorflow/compiler/xla/service:hlo_parser",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_codegen_test",
"//tensorflow/compiler/xla/tests:test_utils",
"//tensorflow/compiler/xla/tests:xla_internal_test_main", # fixdeps: keep
],
)
cc_library(
name = "gpu_async_collective_annotator",
srcs = ["gpu_async_collective_annotator.cc"],
hdrs = ["gpu_async_collective_annotator.h"],
deps = [
":backend_configs_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/hlo/utils:hlo_query",
"//tensorflow/compiler/xla/service:hlo_pass",
],
)
xla_cc_test(
name = "gpu_async_collective_annotator_test",
srcs = ["gpu_async_collective_annotator_test.cc"],
deps = [
":backend_configs_cc",
":gpu_async_collective_annotator",
"//tensorflow/compiler/xla/hlo/utils:hlo_query",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:test_macros_header",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "gpu_convert_async_collectives_to_sync",
srcs = ["gpu_convert_async_collectives_to_sync.cc"],
hdrs = ["gpu_convert_async_collectives_to_sync.h"],
deps = [
":backend_configs_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:convert_async_collectives_to_sync",
"//tensorflow/compiler/xla/service:hlo_pass",
"@com_google_absl//absl/container:flat_hash_map",
],
)
xla_cc_test(
name = "gpu_convert_async_collectives_to_sync_test",
srcs = ["gpu_convert_async_collectives_to_sync_test.cc"],
deps = [
":backend_configs_cc",
":gpu_convert_async_collectives_to_sync",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/hlo/utils:hlo_query",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:test_macros_header",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
"//tensorflow/tsl/lib/core:status_test_util",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "gpu_conv_algorithm_picker",
srcs = if_gpu_is_configured(["gpu_conv_algorithm_picker.cc"]),
hdrs = if_gpu_is_configured(["gpu_conv_algorithm_picker.h"]),
copts = if_cuda_is_configured(["-DGOOGLE_CUDA=1"]),
deps = if_gpu_is_configured([
":backend_configs_cc",
":gpu_asm_opts_util",
":gpu_autotuning_proto_cc",
":gpu_conv_runner",
":hlo_algorithm_denylist",
":stream_executor_util",
"@com_google_absl//absl/algorithm:container",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/strings:str_format",
"//tensorflow/compiler/xla:autotune_results_proto_cc",
"//tensorflow/compiler/xla:autotuning_proto_cc",
"//tensorflow/compiler/xla:literal_util",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:executable",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/stream_executor",
"//tensorflow/compiler/xla/stream_executor:device_memory_allocator",
"//tensorflow/compiler/xla/stream_executor:scratch_allocator",
"//tensorflow/tsl/platform:logger",
"//tensorflow/tsl/platform:logging",
"//tensorflow/tsl/platform:numbers",
"//tensorflow/tsl/util/proto:proto_utils",
":autotuner_util",
":buffer_comparator",
"@local_config_cuda//cuda:cudnn_header",
"//tensorflow/compiler/xla/stream_executor/gpu:redzone_allocator",
]),
)
xla_cc_test(
name = "gpu_conv_algorithm_picker_test",
srcs = if_gpu_is_configured(["gpu_conv_algorithm_picker_test.cc"]),
tags = [
"gpu",
"no_oss",
"noasan",
"nomsan",
"requires-gpu-sm70",
],
deps = [
":gpu_conv_algorithm_picker",
":gpu_conv_rewriter",
"//tensorflow/compiler/xla/service:gpu_plugin",
"//tensorflow/compiler/xla/service:pattern_matcher",
"//tensorflow/compiler/xla/service:pattern_matcher_gmock",
"//tensorflow/compiler/xla/service:tuple_simplifier",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/tsl/lib/core:status_test_util",
"//tensorflow/tsl/platform:statusor",
"//tensorflow/tsl/platform:test",
"//tensorflow/tsl/platform:test_main",
],
)
cc_library(
name = "gpu_conv_runner",
srcs = ["gpu_conv_runner.cc"],
hdrs = ["gpu_conv_runner.h"],
deps = [
":backend_configs_cc",
":cublas_cudnn",
":stream_executor_util",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:status",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:types",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/stream_executor",
"//tensorflow/compiler/xla/stream_executor:dnn",
"//tensorflow/compiler/xla/stream_executor:lazy_op_runner",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "gpu_fused_mha_runner",
srcs = ["gpu_fused_mha_runner.cc"],
hdrs = ["gpu_fused_mha_runner.h"],
deps = [
":backend_configs_cc",
":cublas_cudnn",
":stream_executor_util",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:status",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:types",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/stream_executor",
"//tensorflow/compiler/xla/stream_executor:dnn",
"//tensorflow/compiler/xla/stream_executor:lazy_op_runner",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "gpu_conv_rewriter",
srcs = ["gpu_conv_rewriter.cc"],
hdrs = ["gpu_conv_rewriter.h"],
deps = [
":backend_configs_cc",
":cublas_cudnn",
"//tensorflow/compiler/xla:literal",
"//tensorflow/compiler/xla:permutation_util",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:window_util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/tsl/platform:logging",
"//tensorflow/tsl/platform:status",
],
)
cc_library(
name = "move_copy_to_users",
srcs = ["move_copy_to_users.cc"],
hdrs = ["move_copy_to_users.h"],
deps = [
"//tensorflow/compiler/xla:literal",
"//tensorflow/compiler/xla:permutation_util",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:window_util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_creation_utils",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/tsl/platform:logging",
"@com_google_absl//absl/strings",
],
)
xla_cc_test(
name = "move_copy_to_users_test",
srcs = ["move_copy_to_users_test.cc"],
deps = [
":move_copy_to_users",
"//tensorflow/compiler/xla:debug_options_flags",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla/tests:filecheck",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:llvm_irgen_test_base",
"//tensorflow/tsl/platform:logging",
"//tensorflow/tsl/platform:test",
"//tensorflow/tsl/platform:test_main",
"@com_google_absl//absl/memory",
],
)
xla_cc_test(
name = "gpu_conv_rewriter_test",
srcs = ["gpu_conv_rewriter_test.cc"],
deps = [
":cublas_cudnn",
":gpu_conv_rewriter",
"//tensorflow/compiler/xla:protobuf_util",
"//tensorflow/compiler/xla:test",
"//tensorflow/compiler/xla:test_helpers",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/hlo/utils:hlo_matchers",
"//tensorflow/compiler/xla/service:shape_inference",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main", # fixdeps: keep
"//tensorflow/tsl/platform:test",
],
)
cc_library(
name = "cusolver_context",
srcs = if_gpu_is_configured(["cusolver_context.cc"]),
hdrs = if_gpu_is_configured(["cusolver_context.h"]),
deps = [
"//tensorflow/compiler/xla:comparison_util",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:types",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/stream_executor",
"//tensorflow/compiler/xla/stream_executor:blas",
"//tensorflow/compiler/xla/stream_executor/gpu:gpu_stream",
"//tensorflow/tsl/platform:logging",
"//tensorflow/tsl/platform:status",
] + if_cuda_is_configured([
"@local_config_cuda//cuda:cuda_headers",
"//tensorflow/compiler/xla/stream_executor/cuda:cusolver_lib",
]) + if_rocm_is_configured([
"@local_config_rocm//rocm:rocm_headers",
"//tensorflow/compiler/xla/stream_executor/rocm:rocblas_wrapper",
"//tensorflow/compiler/xla/stream_executor/rocm:rocsolver_wrapper",
"//tensorflow/compiler/xla/stream_executor/rocm:hipsolver_wrapper",
]),
)
cc_library(
name = "cusolver_rewriter",
srcs = if_gpu_is_configured(["cusolver_rewriter.cc"]),
hdrs = if_gpu_is_configured(["cusolver_rewriter.h"]),
deps = if_gpu_is_configured([
":cusolver_context",
":ir_emission_utils",
"//tensorflow/compiler/xla:literal",
"//tensorflow/compiler/xla:literal_util",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/stream_executor",
"//tensorflow/tsl/platform:logging",
"//tensorflow/compiler/xla/stream_executor:blas",
"//tensorflow/compiler/xla/stream_executor:device_memory_allocator",
"@com_google_absl//absl/algorithm:container",
]) + ["//tensorflow/tsl/platform:status"],
)
cc_library(
name = "instruction_fusion",
srcs = ["instruction_fusion.cc"],
hdrs = ["instruction_fusion.h"],
deps = [
":gpu_device_info",
":gpu_fusible",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:fusion_node_indexing_evaluation",
"//tensorflow/compiler/xla/service:fusion_queue",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service:instruction_fusion",
"@com_google_absl//absl/container:flat_hash_map",
"@com_google_absl//absl/container:flat_hash_set",
"@com_google_absl//absl/meta:type_traits",
"@com_google_absl//absl/strings",
],
)
xla_cc_test(
name = "instruction_fusion_test",
srcs = ["instruction_fusion_test.cc"],
tags = [
"nomsan",
],
deps = [
":gpu_device_info_for_tests",
":gpu_fusible",
":instruction_fusion",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla/hlo/utils:hlo_matchers",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:test_utils",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
],
)
cc_library(
name = "priority_fusion",
srcs = ["priority_fusion.cc"],
hdrs = ["priority_fusion.h"],
deps = [
":gpu_device_info",
":gpu_fusible",
":gpu_hlo_cost_analysis",
":gpu_performance_model",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:fusion_node_indexing_evaluation",
"//tensorflow/compiler/xla/service:fusion_queue",
"//tensorflow/compiler/xla/service:hlo_cost_analysis",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service:instruction_fusion",
"//tensorflow/tsl/platform:logging",
"//tensorflow/tsl/platform:status",
"@com_google_absl//absl/container:flat_hash_map",
"@com_google_absl//absl/container:flat_hash_set",
"@com_google_absl//absl/container:inlined_vector",
"@com_google_absl//absl/log:check",
"@com_google_absl//absl/meta:type_traits",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/time",
],
)
xla_cc_test(
name = "priority_fusion_test",
srcs = ["priority_fusion_test.cc"],
tags = ["no_pip"],
deps = [
":gpu_device_info_for_tests",
":gpu_hlo_cost_analysis",
":priority_fusion",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:test",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/hlo/utils:hlo_matchers",
"//tensorflow/compiler/xla/service:hlo_cost_analysis",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:test_utils",
"//tensorflow/compiler/xla/tests:verified_hlo_module",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
],
)
cc_library(
name = "multi_output_fusion",
srcs = ["multi_output_fusion.cc"],
hdrs = ["multi_output_fusion.h"],
deps = [
":gpu_device_info",
":gpu_fusible",
":gpu_hlo_cost_analysis",
":gpu_performance_model",
"//tensorflow/compiler/xla:debug_options_flags",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/hlo/ir:hlo_reachability",
"//tensorflow/compiler/xla/service:hlo_graph_dumper",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service:instruction_fusion",
"@com_google_absl//absl/algorithm:container",
"@com_google_absl//absl/container:flat_hash_map",
"@com_google_absl//absl/container:flat_hash_set",
"@com_google_absl//absl/strings",
],
)
xla_cc_test(
name = "multi_output_fusion_test",
srcs = ["multi_output_fusion_test.cc"],
tags = [
"nomsan",
],
deps = [
":gpu_device_info_for_tests",
":gpu_fusible",
":multi_output_fusion",
"//tensorflow/compiler/xla/hlo/utils:hlo_matchers",
"//tensorflow/compiler/xla/stream_executor:device_description",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
"@com_google_absl//absl/strings",
],
)
xla_cc_test(
name = "softmax_rewriter_triton_test",
srcs = ["softmax_rewriter_triton_test.cc"],
deps = [
":softmax_rewriter_triton",
"//tensorflow/compiler/xla/service:pattern_matcher_gmock",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main", # build_cleaner: keep
],
)
cc_library(
name = "gpu_sanitize_constant_names",
srcs = ["gpu_sanitize_constant_names.cc"],
hdrs = ["gpu_sanitize_constant_names.h"],
deps = [
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service/llvm_ir:buffer_assignment_util",
"//tensorflow/tsl/platform:logging",
"//tensorflow/tsl/platform:status",
],
)
xla_cc_test(
name = "gpu_sanitize_constant_names_test",
srcs = ["gpu_sanitize_constant_names_test.cc"],
deps = [
":gpu_sanitize_constant_names",
":ir_emission_utils",
"//tensorflow/compiler/xla:shape_layout",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:test_helpers",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/hlo/utils:hlo_matchers",
"//tensorflow/compiler/xla/service:computation_layout",
"//tensorflow/compiler/xla/service:hlo_module_config",
"//tensorflow/compiler/xla/service:hlo_parser",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:test_utils",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
"//tensorflow/tsl/platform:test",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "fusion_merger",
srcs = ["fusion_merger.cc"],
hdrs = ["fusion_merger.h"],
deps = [
":gpu_device_info",
":gpu_fusible",
":gpu_hlo_cost_analysis",
":gpu_performance_model",
":ir_emission_utils",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_graph_dumper",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/tsl/platform:errors",
"@com_google_absl//absl/strings",
],
)
xla_cc_test(
name = "fusion_merger_test",
srcs = ["fusion_merger_test.cc"],
tags = [
"nomsan",
],
deps = [
":fusion_merger",
":gpu_device_info",
":gpu_device_info_for_tests",
":gpu_fusible",
":instruction_fusion",
"//tensorflow/compiler/xla:test_helpers",
"//tensorflow/compiler/xla/hlo/utils:hlo_matchers",
"//tensorflow/compiler/xla/service:hlo_parser",
"//tensorflow/compiler/xla/stream_executor:device_description",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
"@com_google_absl//absl/types:span",
],
)
cc_library(
name = "gpu_conv_padding_legalization",
srcs = ["gpu_conv_padding_legalization.cc"],
hdrs = ["gpu_conv_padding_legalization.h"],
deps = [
":cublas_cudnn",
"//tensorflow/compiler/xla:literal",
"//tensorflow/compiler/xla:literal_util",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:window_util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_creation_utils",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service:shape_inference",
"@com_google_absl//absl/memory",
],
)
xla_cc_test(
name = "gpu_conv_padding_legalization_test",
srcs = ["gpu_conv_padding_legalization_test.cc"],
deps = [
":cublas_cudnn",
":gpu_conv_padding_legalization",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:test",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/hlo/utils:hlo_matchers",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main", # fixdeps: keep
"//tensorflow/tsl/platform:test",
],
)
cc_library(
name = "cudnn_support_utils",
srcs = ["cudnn_support_utils.cc"],
hdrs = ["cudnn_support_utils.h"],
deps = [
":cublas_cudnn",
"//tensorflow/compiler/xla:comparison_util",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:window_util",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/stream_executor:stream_executor_headers",
"//tensorflow/tsl/platform:status",
],
)
xla_cc_test(
name = "cudnn_support_utils_test",
srcs = ["cudnn_support_utils_test.cc"],
deps = [
":cudnn_support_utils",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:test",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_parser",
"//tensorflow/compiler/xla/service:pattern_matcher",
"//tensorflow/compiler/xla/service:pattern_matcher_gmock",
"//tensorflow/compiler/xla/stream_executor:device_description",
"//tensorflow/compiler/xla/stream_executor:stream_executor_headers",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:verified_hlo_module",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
"//tensorflow/tsl/platform:errors",
"//tensorflow/tsl/platform:status",
"//tensorflow/tsl/platform:status_matchers",
"@com_google_absl//absl/status",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "cudnn_pad_for_convolutions",
srcs = ["cudnn_pad_for_convolutions.cc"],
hdrs = ["cudnn_pad_for_convolutions.h"],
deps = [
":cudnn_support_utils",
":ir_emission_utils",
":stream_executor_util",
"//tensorflow/compiler/xla:literal_util",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:window_util",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/stream_executor:stream_executor_headers",
"//tensorflow/tsl/platform:status",
"@com_google_absl//absl/functional:bind_front",
],
)
xla_cc_test(
name = "cudnn_pad_for_convolutions_test",
srcs = ["cudnn_pad_for_convolutions_test.cc"],
deps = [
":cublas_cudnn",
":cudnn_pad_for_convolutions",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:test",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla/service:hlo_parser",
"//tensorflow/compiler/xla/service:pattern_matcher",
"//tensorflow/compiler/xla/service:pattern_matcher_gmock",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main", # build_cleaner: keep
"//tensorflow/tsl/platform:test",
],
)
cc_library(
name = "cudnn_vectorize_convolutions",
srcs = ["cudnn_vectorize_convolutions.cc"],
hdrs = ["cudnn_vectorize_convolutions.h"],
deps = [
":backend_configs_cc",
":cublas_cudnn",
":cudnn_support_utils",
":stream_executor_util",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla/client:xla_builder",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/stream_executor:stream_executor_headers",
],
)
xla_cc_test(
name = "cudnn_vectorize_convolutions_test",
srcs = ["cudnn_vectorize_convolutions_test.cc"],
deps = [
":backend_configs_cc",
":cublas_cudnn",
":cudnn_vectorize_convolutions",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla/service:call_inliner",
"//tensorflow/compiler/xla/service:hlo_parser",
"//tensorflow/compiler/xla/service:pattern_matcher",
"//tensorflow/compiler/xla/service:pattern_matcher_gmock",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main", # build_cleaner: keep
"//tensorflow/tsl/platform:statusor",
],
)
cc_library(
name = "cudnn_simplify_padding",
srcs = ["cudnn_simplify_padding.cc"],
hdrs = ["cudnn_simplify_padding.h"],
deps = [
":backend_configs_cc",
":cublas_cudnn",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/service:hlo_creation_utils",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service:pattern_matcher",
],
)
xla_cc_test(
name = "cudnn_simplify_padding_test",
srcs = ["cudnn_simplify_padding_test.cc"],
deps = [
":cublas_cudnn",
":cudnn_pad_for_convolutions",
":cudnn_simplify_padding",
":cudnn_vectorize_convolutions",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla/service:algebraic_simplifier",
"//tensorflow/compiler/xla/service:call_inliner",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service:hlo_pass_pipeline",
"//tensorflow/compiler/xla/service:pattern_matcher",
"//tensorflow/compiler/xla/service:pattern_matcher_gmock",
"//tensorflow/compiler/xla/service:reshape_mover",
"//tensorflow/compiler/xla/service:tuple_simplifier",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main", # build_cleaner: keep
"//tensorflow/tsl/lib/core:status_test_util",
"//tensorflow/tsl/platform:statusor",
"//tensorflow/tsl/platform:test",
],
)
cc_library(
name = "cublas_pad_for_gemms",
srcs = ["cublas_pad_for_gemms.cc"],
hdrs = ["cublas_pad_for_gemms.h"],
deps = [
":gemm_rewriter_triton",
":ir_emission_utils",
"//tensorflow/compiler/xla:literal_util",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:window_util",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_pass",
],
)
xla_cc_test(
name = "cublas_pad_for_gemms_test",
srcs = ["cublas_pad_for_gemms_test.cc"],
tags = [
"nomsan",
],
deps = [
":cublas_pad_for_gemms",
":ir_emission_utils",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla/hlo/utils:hlo_matchers",
"//tensorflow/compiler/xla/service:hlo_parser",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:test_utils",
"//tensorflow/compiler/xla/tests:xla_internal_test_main", # build_cleaner: keep
],
)
tf_proto_library(
name = "executable_proto",
srcs = ["executable.proto"],
cc_api_version = 2,
protodeps = [
"//tensorflow/compiler/xla/service:hlo_proto",
],
)
cc_library(
name = "target_constants",
hdrs = ["target_constants.h"],
)
cc_library(
name = "gpu_transfer_manager",
srcs = ["gpu_transfer_manager.cc"],
hdrs = ["gpu_transfer_manager.h"],
deps = [
":io_feed_manager",
":target_constants",
"//tensorflow/compiler/xla:literal",
"//tensorflow/compiler/xla:literal_util",
"//tensorflow/compiler/xla:shape_tree",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:types",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/service:compiler",
"//tensorflow/compiler/xla/service:generic_transfer_manager",
"//tensorflow/compiler/xla/service:transfer_manager",
"//tensorflow/compiler/xla/stream_executor",
"//tensorflow/compiler/xla/stream_executor:stream_executor_headers",
"//tensorflow/compiler/xla/stream_executor/cuda:cuda_platform_id",
"//tensorflow/compiler/xla/stream_executor/host:host_platform_id",
"//tensorflow/compiler/xla/stream_executor/rocm:rocm_platform_id",
"//tensorflow/tsl/platform:errors",
"//tensorflow/tsl/platform:logging",
"@com_google_absl//absl/cleanup",
"@llvm-project//llvm:Core",
],
alwayslink = True, # Contains per-platform transfer manager registration
)
cc_library(
name = "gpu_reduce_scatter_creator",
srcs = ["gpu_reduce_scatter_creator.cc"],
hdrs = ["gpu_reduce_scatter_creator.h"],
deps = [
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/hlo/utils:hlo_query",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service:reduce_scatter_utils",
],
)
cc_library(
name = "gpu_float_support",
srcs = ["gpu_float_support.cc"],
hdrs = ["gpu_float_support.h"],
deps = [
"//tensorflow/compiler/xla/service:float_support",
],
)
cc_library(
name = "compile_module_to_llvm_ir",
srcs = [
"compile_module_to_llvm_ir.cc",
],
hdrs = [
"compile_module_to_llvm_ir.h",
],
deps = [
":executable_proto_cc",
":gpu_constants",
":gpu_convert_async_collectives_to_sync",
":gpu_device_info",
":gpu_executable",
":gpu_float_support",
":gpu_hlo_schedule",
":ir_emitter",
":metrics",
":runtime_intrinsics",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/mlir/backends/gpu/transforms:passes",
"//tensorflow/compiler/xla/mlir/runtime/transforms:compilation_pipeline_gpu",
"//tensorflow/compiler/xla/mlir_hlo:transforms_gpu_passes",
"//tensorflow/compiler/xla/service:bitcast_dtypes_expander",
"//tensorflow/compiler/xla/service:buffer_assignment",
"//tensorflow/compiler/xla/service:dump",
"//tensorflow/compiler/xla/service:hlo_dataflow_analysis",
"//tensorflow/compiler/xla/service:hlo_pass_pipeline",
"//tensorflow/compiler/xla/service:hlo_proto_cc",
"//tensorflow/compiler/xla/service:hlo_rematerialization",
"//tensorflow/compiler/xla/service:optimization_barrier_expander",
"//tensorflow/compiler/xla/service/llvm_ir:llvm_util",
"//tensorflow/compiler/xla/stream_executor",
"//tensorflow/compiler/xla/stream_executor:device_description",
"//tensorflow/compiler/xla/stream_executor/rocm:rocm_platform_id",
"//tensorflow/compiler/xla/translate/hlo_to_mhlo:hlo_utils",
"//tensorflow/compiler/xla/translate/mhlo_to_hlo:location_exporter",
"//tensorflow/compiler/xla/translate/mhlo_to_lhlo_with_xla",
"//tensorflow/tsl/platform:env",
"//tensorflow/tsl/platform:errors",
"//tensorflow/tsl/platform:statusor",
"@com_google_absl//absl/strings",
"@llvm-project//llvm:AsmParser",
"@llvm-project//llvm:TransformUtils",
"@llvm-project//llvm:ir_headers",
"@llvm-project//mlir:FuncDialect",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:Pass",
"@llvm-project//mlir:Support",
],
)
cc_library(
name = "gpu_compiler",
srcs = if_gpu_is_configured([
"gpu_compiler.cc",
]),
hdrs = if_gpu_is_configured([
"gpu_compiler.h",
]),
deps = if_gpu_is_configured([
":alias_passthrough_params",
":all_reduce_blueconnect",
":compile_module_to_llvm_ir",
":conv_layout_normalization",
":copy_fusion",
":dot_dimension_sorter",
":executable_proto_cc",
":fusion_merger",
":gemm_broadcast_folding_rewriter",
":gemm_rewriter",
":gemm_rewriter_triton",
":gpu_async_collective_annotator",
":gpu_constants",
":gpu_conv_rewriter",
":gpu_device_info",
":gpu_executable",
":gpu_float_support",
":gpu_hlo_cost_analysis",
":gpu_hlo_schedule",
":gpu_layout_assignment",
":gpu_reduce_scatter_creator",
":gpu_sanitize_constant_names",
":gpu_scatter_expander",
":gpu_shape_verifier",
":hlo_fusion_stats",
":horizontal_input_fusion",
":horizontal_loop_fusion",
":instruction_fusion",
":ir_emission_utils",
":ir_emitter",
":matmul_utils",
":metrics",
":move_copy_to_users",
":multi_output_fusion",
":priority_fusion",
":reduction_degenerate_dim_remover",
":reduction_dimension_grouper",
":reduction_layout_normalizer",
":reduction_splitter",
":runtime_intrinsics",
":scatter_slice_simplifier",
":softmax_rewriter_triton",
":topk_specializer",
":topk_splitter",
":tree_reduction_rewriter",
":variadic_op_splitter",
"@com_google_absl//absl/container:flat_hash_set",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/types:variant",
"@llvm-project//llvm:AsmParser",
"@llvm-project//llvm:Core",
"@llvm-project//llvm:Support",
"@llvm-project//llvm:TransformUtils",
"@llvm-project//mlir:FuncDialect",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:Pass",
"@llvm-project//mlir:Support",
"//tensorflow/compiler/xla:autotune_results_proto_cc",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:types",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla:xla_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/hlo/transforms:hlo_constant_splitter",
"//tensorflow/compiler/xla/mlir/backends/gpu/transforms:passes",
"//tensorflow/compiler/xla/mlir/runtime/transforms:compilation_pipeline_gpu",
"//tensorflow/compiler/xla/mlir_hlo:transforms_gpu_passes",
"//tensorflow/compiler/xla/runtime:jit_executable",
"//tensorflow/compiler/xla/service:algebraic_simplifier",
"//tensorflow/compiler/xla/service:all_gather_broadcast_reorder",
"//tensorflow/compiler/xla/service:all_gather_combiner",
"//tensorflow/compiler/xla/service:all_reduce_combiner",
"//tensorflow/compiler/xla/service:all_reduce_contiguous",
"//tensorflow/compiler/xla/service:all_reduce_folder",
"//tensorflow/compiler/xla/service:all_reduce_promotion",
"//tensorflow/compiler/xla/service:all_reduce_reassociate",
"//tensorflow/compiler/xla/service:async_collective_creator",
"//tensorflow/compiler/xla/service:batchnorm_expander",
"//tensorflow/compiler/xla/service:bitcast_dtypes_expander",
"//tensorflow/compiler/xla/service:broadcast_canonicalizer",
"//tensorflow/compiler/xla/service:buffer_assignment",
"//tensorflow/compiler/xla/service:call_inliner",
"//tensorflow/compiler/xla/service:collectives_schedule_linearizer",
"//tensorflow/compiler/xla/service:comparison_expander",
"//tensorflow/compiler/xla/service:conditional_canonicalizer",
"//tensorflow/compiler/xla/service:conditional_simplifier",
"//tensorflow/compiler/xla/service:convert_async_collectives_to_sync",
"//tensorflow/compiler/xla/service:convert_mover",
"//tensorflow/compiler/xla/service:convolution_4d_expander",
"//tensorflow/compiler/xla/service:convolution_pred_expander",
"//tensorflow/compiler/xla/service:copy_insertion",
"//tensorflow/compiler/xla/service:data_parallel_collective_optimizer",
"//tensorflow/compiler/xla/service:dot_decomposer",
"//tensorflow/compiler/xla/service:dot_dimension_merger",
"//tensorflow/compiler/xla/service:dot_merger",
"//tensorflow/compiler/xla/service:dump",
"//tensorflow/compiler/xla/service:dynamic_dimension_simplifier",
"//tensorflow/compiler/xla/service:dynamic_index_splitter",
"//tensorflow/compiler/xla/service:dynamic_padder",
"//tensorflow/compiler/xla/service:eigh_expander",
"//tensorflow/compiler/xla/service:executable",
"//tensorflow/compiler/xla/service:flatten_call_graph",
"//tensorflow/compiler/xla/service:float_normalization",
"//tensorflow/compiler/xla/service:gather_expander",
"//tensorflow/compiler/xla/service:gather_simplifier",
"//tensorflow/compiler/xla/service:hlo_computation_deduplicator",
"//tensorflow/compiler/xla/service:hlo_constant_folding",
"//tensorflow/compiler/xla/service:hlo_cse",
"//tensorflow/compiler/xla/service:hlo_dataflow_analysis",
"//tensorflow/compiler/xla/service:hlo_dce",
"//tensorflow/compiler/xla/service:hlo_module_config",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service:hlo_pass_pipeline",
"//tensorflow/compiler/xla/service:hlo_proto_cc",
"//tensorflow/compiler/xla/service:hlo_rematerialization",
"//tensorflow/compiler/xla/service:hlo_verifier",
"//tensorflow/compiler/xla/service:layout_normalization",
"//tensorflow/compiler/xla/service:llvm_compiler",
"//tensorflow/compiler/xla/service:logistic_expander",
"//tensorflow/compiler/xla/service:loop_schedule_linearizer",
"//tensorflow/compiler/xla/service:operand_upcaster",
"//tensorflow/compiler/xla/service:optimization_barrier_expander",
"//tensorflow/compiler/xla/service:qr_expander",
"//tensorflow/compiler/xla/service:real_imag_expander",
"//tensorflow/compiler/xla/service:reduce_decomposer",
"//tensorflow/compiler/xla/service:reduce_scatter_combiner",
"//tensorflow/compiler/xla/service:reduce_scatter_reassociate",
"//tensorflow/compiler/xla/service:reshape_decomposer",
"//tensorflow/compiler/xla/service:reshape_mover",
"//tensorflow/compiler/xla/service:result_caster",
"//tensorflow/compiler/xla/service:rng_bit_generator_expander",
"//tensorflow/compiler/xla/service:rng_expander",
"//tensorflow/compiler/xla/service:scatter_simplifier",
"//tensorflow/compiler/xla/service:sharding_propagation",
"//tensorflow/compiler/xla/service:sharding_remover",
"//tensorflow/compiler/xla/service:simplify_fp_conversions",
"//tensorflow/compiler/xla/service:slice_sinker",
"//tensorflow/compiler/xla/service:slow_operation_alarm",
"//tensorflow/compiler/xla/service:sort_simplifier",
"//tensorflow/compiler/xla/service:stable_sort_expander",
"//tensorflow/compiler/xla/service:stochastic_convert_decomposer",
"//tensorflow/compiler/xla/service:topk_rewriter",
"//tensorflow/compiler/xla/service:transpose_folding",
"//tensorflow/compiler/xla/service:tuple_simplifier",
"//tensorflow/compiler/xla/service:while_loop_all_reduce_code_motion",
"//tensorflow/compiler/xla/service:while_loop_constant_sinking",
"//tensorflow/compiler/xla/service:while_loop_simplifier",
"//tensorflow/compiler/xla/service:while_loop_trip_count_annotator",
"//tensorflow/compiler/xla/service:zero_sized_hlo_elimination",
"//tensorflow/compiler/xla/service/llvm_ir:llvm_util",
"//tensorflow/compiler/xla/service/spmd:collective_permute_motion",
"//tensorflow/compiler/xla/service/spmd:stateful_rng_spmd_partitioner",
"//tensorflow/compiler/xla/stream_executor",
"//tensorflow/compiler/xla/stream_executor:device_description_proto_cc_impl",
"//tensorflow/compiler/xla/stream_executor:stream_executor_headers",
"//tensorflow/compiler/xla/stream_executor/cuda:cuda_platform_id",
"//tensorflow/compiler/xla/stream_executor/rocm:rocm_platform_id",
"//tensorflow/compiler/xla/translate/hlo_to_mhlo:hlo_utils",
"//tensorflow/compiler/xla/translate/mhlo_to_hlo:location_exporter",
"//tensorflow/compiler/xla/translate/mhlo_to_lhlo_with_xla",
"//tensorflow/tsl/platform:blocking_counter",
"//tensorflow/tsl/platform:casts",
"//tensorflow/tsl/platform:env",
"//tensorflow/tsl/platform:errors",
"//tensorflow/tsl/platform:logging",
"//tensorflow/tsl/platform:path",
"//tensorflow/tsl/platform:platform_port",
"//tensorflow/tsl/platform:status",
"//tensorflow/tsl/platform:statusor",
"//tensorflow/tsl/profiler/lib:traceme",
]),
)
xla_cc_test(
name = "gpu_compiler_test",
srcs = ["gpu_compiler_test.cc"],
tags = tf_cuda_tests_tags(),
deps = [
":horizontal_loop_fusion",
"//tensorflow/compiler/xla:autotune_results_proto_cc",
"//tensorflow/compiler/xla/hlo/utils:hlo_matchers",
"//tensorflow/compiler/xla/service:gpu_plugin",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
"//tensorflow/tsl/lib/core:status_test_util",
"//tensorflow/tsl/platform:protobuf",
"@com_google_absl//absl/base:log_severity",
"@com_google_absl//absl/log:scoped_mock_log",
"@com_google_absl//absl/strings",
"@com_google_googletest//:gtest",
],
)
xla_cc_test(
name = "auto_sharding_gpu_compiler_test",
srcs = ["auto_sharding_gpu_compiler_test.cc"],
tags = tf_cuda_tests_tags() + ["no_oss"], # TODO(b/277355322): Make autosharding work in OSS
deps = [
"//tensorflow/compiler/xla/hlo/utils:hlo_matchers",
"//tensorflow/compiler/xla/service:gpu_plugin",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
],
)
cc_library(
name = "nvptx_compiler",
srcs = if_cuda_is_configured([
"nvptx_compiler_registration.cc",
]),
deps = if_cuda_is_configured([
"//tensorflow/compiler/xla/stream_executor/cuda:cuda_platform_id",
":nvptx_compiler_impl",
"//tensorflow/tsl/platform:path",
]),
alwayslink = True, # Contains compiler registration
)
cc_library(
name = "nvptx_compiler_impl",
srcs = if_cuda_is_configured([
"nvptx_compiler.cc",
]),
hdrs = if_cuda_is_configured([
"nvptx_compiler.h",
]),
deps = if_cuda_is_configured([
":autotuner_util",
":cublas_cudnn",
":cublas_pad_for_gemms",
":cudnn_fused_conv_rewriter",
":cudnn_fused_mha_rewriter",
":cudnn_pad_for_convolutions",
":cudnn_simplify_padding",
":cudnn_vectorize_convolutions",
":cusolver_rewriter",
":gemm_algorithm_picker",
":gpu_asm_opts_util",
":gpu_compiler",
":gpu_conv_algorithm_picker",
":gpu_conv_padding_legalization",
":gpu_conv_rewriter",
":gpu_executable",
":gpu_layout_assignment",
":ir_emission_utils",
":metrics",
":target_constants",
":triangular_solve_rewriter",
":triton_autotuner",
"@com_google_absl//absl/base",
"@com_google_absl//absl/container:node_hash_map",
"@com_google_absl//absl/strings:str_format",
"@llvm-project//llvm:IRReader",
"@llvm-project//llvm:Support",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:types",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_proto_cc",
"//tensorflow/compiler/xla/service:algebraic_simplifier",
"//tensorflow/compiler/xla/service:call_inliner",
"//tensorflow/compiler/xla/service:convert_mover",
"//tensorflow/compiler/xla/service:dump",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:float_normalization",
"//tensorflow/compiler/xla/service:float_support",
"//tensorflow/compiler/xla/service:hlo_constant_folding",
"//tensorflow/compiler/xla/service:hlo_cse",
"//tensorflow/compiler/xla/service:hlo_dce",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service:hlo_pass_pipeline",
"//tensorflow/compiler/xla/service:hlo_proto_cc",
"//tensorflow/compiler/xla/service:hlo_verifier",
"//tensorflow/compiler/xla/service:llvm_compiler",
"//tensorflow/compiler/xla/service:reshape_mover",
"//tensorflow/compiler/xla/service:tuple_simplifier",
"//tensorflow/compiler/xla/service/gpu/llvm_gpu_backend",
"//tensorflow/compiler/xla/service/llvm_ir:llvm_util",
"//tensorflow/compiler/xla/stream_executor:stream_executor_headers",
"//tensorflow/compiler/xla/stream_executor/cuda:cuda_diagnostics",
"//tensorflow/compiler/xla/stream_executor/cuda:cuda_platform_id",
"//tensorflow/compiler/xla/stream_executor/gpu:asm_compiler",
"//tensorflow/compiler/xla/stream_executor/gpu:gpu_driver_header",
"//tensorflow/tsl/platform:cuda_libdevice_path",
"//tensorflow/tsl/platform:logging",
"//tensorflow/tsl/platform:path",
"//tensorflow/tsl/platform:status",
"//tensorflow/tsl/platform:statusor",
"//tensorflow/tsl/profiler/lib:traceme",
"//tensorflow/tsl/util:env_var",
]),
)
xla_cc_test(
name = "nvptx_compiler_test",
srcs = if_gpu_is_configured([
"nvptx_compiler_test.cc",
]),
tags = tf_cuda_tests_tags() + [
"no_rocm",
"nomsan", # Pulls in precompiled NVIDIA libraries which cause false
# positives in msan.
],
deps = [
":nvptx_compiler_impl",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:buffer_assignment",
"//tensorflow/compiler/xla/service:gpu_plugin",
"//tensorflow/compiler/xla/service:hlo_parser",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main", # build_cleaner: keep
],
)
xla_cc_test(
name = "gpu_aot_compilation_test",
srcs = if_cuda_is_configured([
"gpu_aot_compilation_test.cc",
]),
env = {
"XLA_FLAGS": "--xla_gpu_enable_xla_runtime_executable",
},
tags = [
"gpu",
"no_oss",
"no_rocm",
"nomsan", # Pulls in precompiled NVIDIA libraries which cause false positives in msan.
"requires-gpu-nvidia",
],
deps = if_cuda_is_configured([
":nvptx_compiler_impl",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main", # build_cleaner: keep
]),
)
cc_library(
name = "amdgpu_compiler",
srcs = if_rocm_is_configured([
"amdgpu_compiler_registration.cc",
]),
deps = if_rocm_is_configured([
":amdgpu_compiler_impl",
"//tensorflow/compiler/xla/stream_executor/host:host_platform_id",
]),
alwayslink = True, # Contains compiler registration
)
cc_library(
name = "amdgpu_compiler_impl",
srcs = if_rocm_is_configured([
"amdgpu_compiler.cc",
]),
hdrs = if_rocm_is_configured([
"amdgpu_compiler.h",
]),
deps = if_rocm_is_configured([
":cusolver_rewriter",
":gemm_rewriter",
":gpu_compiler",
":gpu_conv_algorithm_picker",
":gpu_conv_padding_legalization",
":gpu_conv_rewriter",
":gpu_layout_assignment",
":reduction_degenerate_dim_remover",
":reduction_dimension_grouper",
":reduction_layout_normalizer",
":target_constants",
":tree_reduction_rewriter",
":triangular_solve_rewriter",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla/service:algebraic_simplifier",
"//tensorflow/compiler/xla/service:call_inliner",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_constant_folding",
"//tensorflow/compiler/xla/service:hlo_cse",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service:hlo_pass_pipeline",
"//tensorflow/compiler/xla/service:hlo_verifier",
"//tensorflow/compiler/xla/service:tuple_simplifier",
"//tensorflow/compiler/xla/service/gpu/llvm_gpu_backend",
"//tensorflow/compiler/xla/service/llvm_ir:llvm_util",
"//tensorflow/compiler/xla/stream_executor/rocm:rocm_platform_id",
"//tensorflow/tsl/platform:rocm_rocdl_path",
]),
)
cc_library(
name = "all_reduce_blueconnect",
srcs = ["all_reduce_blueconnect.cc"],
hdrs = ["all_reduce_blueconnect.h"],
deps = [
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/hlo/utils:hlo_query",
"//tensorflow/compiler/xla/service:hlo_creation_utils",
"//tensorflow/compiler/xla/service:hlo_pass",
"@com_google_absl//absl/algorithm:container",
"@com_google_absl//absl/container:btree",
"@com_google_absl//absl/types:span",
],
)
xla_cc_test(
name = "all_reduce_blueconnect_test",
srcs = ["all_reduce_blueconnect_test.cc"],
deps = [
":all_reduce_blueconnect",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/hlo/utils:hlo_matchers",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:test_utils",
"//tensorflow/tsl/platform:status_matchers",
"//tensorflow/tsl/platform:test_main",
],
)
cc_library(
name = "xfeed_queue",
hdrs = ["xfeed_queue.h"],
deps = [
"//tensorflow/tsl/platform:logging",
"@com_google_absl//absl/base:core_headers",
],
)
cc_library(
name = "io_feed_manager",
srcs = [
"infeed_manager.cc",
"outfeed_manager.cc",
"xla_executor_state.h",
],
hdrs = [
"infeed_manager.h",
"outfeed_manager.h",
],
copts = if_cuda_is_configured(["-DGOOGLE_CUDA=1"]),
deps = [
":xfeed_queue",
"//tensorflow/compiler/xla:literal",
"//tensorflow/compiler/xla:shape_tree",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:types",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla/stream_executor",
"//tensorflow/compiler/xla/stream_executor/gpu:gpu_executor_header",
"//tensorflow/tsl/platform:logging",
"//tensorflow/tsl/platform:notification",
"@com_google_absl//absl/base:core_headers",
"@com_google_absl//absl/memory",
],
)
cc_library(
name = "gpu_shape_verifier",
srcs = ["gpu_shape_verifier.cc"],
hdrs = ["gpu_shape_verifier.h"],
deps = [
"//tensorflow/compiler/xla/service:hlo_verifier",
],
)
cc_library(
name = "gpu_layout_assignment",
srcs = ["gpu_layout_assignment.cc"],
hdrs = ["gpu_layout_assignment.h"],
deps = [
":backend_configs_cc",
":ir_emission_utils",
":matmul_utils",
":stream_executor_util",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:window_util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:computation_layout",
"//tensorflow/compiler/xla/service:layout_assignment",
"//tensorflow/compiler/xla/stream_executor",
"//tensorflow/tsl/platform:errors",
"//tensorflow/tsl/platform:status",
"@com_google_absl//absl/algorithm:container",
"@com_google_absl//absl/types:span",
],
)
xla_cc_test(
name = "gpu_layout_assignment_test",
srcs = ["gpu_layout_assignment_test.cc"],
tags = tf_cuda_tests_tags(),
deps = [
":cublas_cudnn",
":gemm_rewriter",
":gpu_layout_assignment",
"//tensorflow/compiler/xla:shape_layout",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/hlo/utils:hlo_matchers",
"//tensorflow/compiler/xla/service:computation_layout",
"//tensorflow/compiler/xla/service:hlo_parser",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_codegen_test",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main", # build_cleaner: keep
"//tensorflow/tsl/platform:status_matchers",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "gpu_hlo_schedule",
srcs = ["gpu_hlo_schedule.cc"],
hdrs = ["gpu_hlo_schedule.h"],
deps = [
":backend_configs_cc",
":cublas_cudnn",
":gpu_device_info",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/hlo/utils:hlo_query",
"//tensorflow/compiler/xla/service:hlo_memory_scheduler",
"//tensorflow/compiler/xla/service:hlo_ordering",
"//tensorflow/compiler/xla/service:hlo_pass_pipeline",
"//tensorflow/compiler/xla/service:latency_hiding_scheduler",
"//tensorflow/compiler/xla/service:profile_guided_latency_estimator",
"//tensorflow/tsl/platform:env",
"//tensorflow/tsl/platform:protobuf",
"//tensorflow/tsl/profiler/protobuf:profiled_instructions_proto_cc_impl",
"@com_google_absl//absl/memory",
],
)
xla_cc_test(
name = "gpu_hlo_schedule_test",
srcs = [
"gpu_hlo_schedule_test.cc",
],
tags = tf_cuda_tests_tags(),
deps = [
":gpu_device_info",
":gpu_hlo_schedule",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/hlo/utils:hlo_query",
"//tensorflow/compiler/xla/service:gpu_plugin",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:test_utils",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
"//tensorflow/tsl/profiler/protobuf:profiled_instructions_proto_cc",
],
)
xla_cc_test(
name = "while_transformer_test",
srcs = ["while_transformer_test.cc"],
tags = [
"nomsan",
],
deps = [
":instruction_fusion",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:test",
"//tensorflow/compiler/xla:test_helpers",
"//tensorflow/compiler/xla/service:copy_insertion",
"//tensorflow/compiler/xla/service:hlo_verifier",
"//tensorflow/compiler/xla/service:while_loop_analysis",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
"//tensorflow/tsl/lib/core:status_test_util",
"//tensorflow/tsl/platform:test",
],
)
cc_library(
name = "stream_executor_util",
srcs = ["stream_executor_util.cc"],
hdrs = ["stream_executor_util.h"],
copts = tsl_copts(),
deps = [
":cublas_cudnn",
":launch_dimensions",
"//tensorflow/compiler/xla:autotuning_proto_cc",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:types",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_module_config",
"//tensorflow/compiler/xla/stream_executor",
"//tensorflow/compiler/xla/stream_executor:kernel_spec",
"//tensorflow/tsl/platform:cuda_libdevice_path",
"//tensorflow/tsl/platform:errors",
"//tensorflow/tsl/platform:logging",
"//tensorflow/tsl/platform:regexp",
"//tensorflow/tsl/profiler/lib:traceme",
"//tensorflow/tsl/util:env_var",
"//tensorflow/tsl/util/proto:proto_utils",
"@com_google_absl//absl/memory",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/types:span",
],
)
cc_library(
name = "gpu_asm_opts_util",
srcs = ["gpu_asm_opts_util.cc"],
hdrs = ["gpu_asm_opts_util.h"],
copts = tsl_copts(),
deps = [
"//tensorflow/compiler/xla:xla_proto_cc",
"//tensorflow/compiler/xla/stream_executor/gpu:gpu_asm_opts",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "gpu_hlo_cost_analysis",
srcs = ["gpu_hlo_cost_analysis.cc"],
hdrs = ["gpu_hlo_cost_analysis.h"],
compatible_with = get_compatible_with_cloud(),
deps = [
":backend_configs_cc",
":cublas_cudnn",
":ir_emission_utils",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:elemental_ir_emitter",
"//tensorflow/compiler/xla/service:hlo_cost_analysis",
"@com_google_absl//absl/container:node_hash_map",
],
)
xla_cc_test(
name = "gpu_hlo_cost_analysis_test",
srcs = ["gpu_hlo_cost_analysis_test.cc"],
deps = [
":gpu_hlo_cost_analysis",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
],
)
cc_library(
name = "hlo_fusion_analysis",
srcs = ["hlo_fusion_analysis.cc"],
hdrs = [
"hlo_fusion_analysis.h",
"kernel_mapping_scheme.h",
],
copts = if_cuda_is_configured(["-DGOOGLE_CUDA=1"]),
deps = [
":backend_configs_cc",
":gpu_device_info",
":gpu_fusible",
":ir_emission_utils",
":launch_dimensions",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:union_find",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/hlo/utils:hlo_query",
"//tensorflow/compiler/xla/service/llvm_ir:loop_emitter",
"//tensorflow/compiler/xla/stream_executor:device_description",
"@com_google_absl//absl/algorithm:container",
"@com_google_absl//absl/container:inlined_vector",
"@com_google_absl//absl/types:span",
"@llvm-project//llvm:ir_headers",
],
)
cc_library(
name = "gpu_performance_model",
srcs = ["gpu_performance_model.cc"],
hdrs = ["gpu_performance_model.h"],
deps = [
":gpu_device_info",
":gpu_hlo_cost_analysis",
":hlo_fusion_analysis",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"@com_google_absl//absl/time",
],
)
xla_cc_test(
name = "gpu_performance_model_test",
srcs = ["gpu_performance_model_test.cc"],
deps = [
":gpu_device_info_for_tests",
":gpu_performance_model",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
],
)
cc_library(
name = "bitcast_remover",
srcs = ["bitcast_remover.cc"],
hdrs = ["bitcast_remover.h"],
deps = [
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_pass",
],
)
xla_cc_test(
name = "bitcast_remover_test",
srcs = ["bitcast_remover_test.cc"],
tags = tf_cuda_tests_tags(),
deps = [
":bitcast_remover",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/tests:filecheck",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
"//tensorflow/tsl/lib/core:status_test_util",
"//tensorflow/tsl/platform:statusor",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "buffer_comparator",
srcs = if_cuda_is_configured(["buffer_comparator.cc"]),
hdrs = if_cuda_is_configured(["buffer_comparator.h"]),
deps = if_cuda_is_configured([
":launch_dimensions",
":gpu_asm_opts_util",
"@com_google_absl//absl/base",
"@com_google_absl//absl/strings",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla/service:hlo_module_config",
"//tensorflow/compiler/xla/stream_executor",
"//tensorflow/compiler/xla/stream_executor:stream_executor_headers",
"//tensorflow/compiler/xla/stream_executor/gpu:asm_compiler",
]),
)
xla_cc_test(
name = "buffer_comparator_test",
srcs = if_cuda_is_configured(["buffer_comparator_test.cc"]),
tags = tf_cuda_tests_tags(),
deps = [
":stream_executor_util",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:types",
"//tensorflow/tsl/platform:test",
"//tensorflow/tsl/platform:test_main",
] + if_cuda_is_configured([
":buffer_comparator",
"//tensorflow/compiler/xla/stream_executor:device_memory",
]),
)
cc_library(
name = "gpu_fusible",
srcs = ["gpu_fusible.cc"],
hdrs = ["gpu_fusible.h"],
deps = [
":gpu_device_info",
":ir_emission_utils",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:instruction_fusion",
],
)
xla_cc_test(
name = "gpu_fusible_test",
srcs = ["gpu_fusible_test.cc"],
tags = [
"nomsan",
],
deps = [
":gpu_fusible",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_parser",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "cudnn_fused_conv_rewriter",
srcs = ["cudnn_fused_conv_rewriter.cc"],
hdrs = ["cudnn_fused_conv_rewriter.h"],
deps = [
":backend_configs_cc",
":cublas_cudnn",
"//tensorflow/compiler/xla:comparison_util",
"//tensorflow/compiler/xla:literal_util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_creation_utils",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service:pattern_matcher",
"//tensorflow/compiler/xla/stream_executor",
"//tensorflow/compiler/xla/stream_executor:dnn_proto_cc",
"//tensorflow/tsl/platform:errors",
"//tensorflow/tsl/platform:statusor",
],
)
cc_library(
name = "cudnn_fused_mha_rewriter",
srcs = ["cudnn_fused_mha_rewriter.cc"],
hdrs = ["cudnn_fused_mha_rewriter.h"],
deps = [
":backend_configs_cc",
":cublas_cudnn",
":matmul_utils",
"//tensorflow/compiler/xla:comparison_util",
"//tensorflow/compiler/xla:permutation_util",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service:pattern_matcher",
"//tensorflow/compiler/xla/stream_executor:stream_executor_headers",
"//tensorflow/tsl/platform:errors",
"//tensorflow/tsl/platform:statusor",
],
)
xla_cc_test(
name = "cudnn_fused_mha_rewriter_test",
srcs = ["cudnn_fused_mha_rewriter_test.cc"],
tags = tf_cuda_tests_tags(),
deps = [
":backend_configs_cc",
":cublas_cudnn",
":cudnn_fused_mha_rewriter",
":ir_emission_utils",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:test_helpers",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla/service:algebraic_simplifier",
"//tensorflow/compiler/xla/service:convert_mover",
"//tensorflow/compiler/xla/service:hlo_constant_folding",
"//tensorflow/compiler/xla/service:hlo_parser",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service:hlo_pass_pipeline",
"//tensorflow/compiler/xla/service:pattern_matcher",
"//tensorflow/compiler/xla/service:pattern_matcher_gmock",
"//tensorflow/compiler/xla/service:reshape_mover",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_codegen_test",
"//tensorflow/compiler/xla/tests:filecheck",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/tsl/lib/core:status_test_util",
"//tensorflow/tsl/platform:statusor",
"//tensorflow/tsl/platform:test",
"//tensorflow/tsl/platform:test_main",
"@com_google_absl//absl/strings",
"@com_google_googletest//:gtest_main",
],
)
xla_cc_test(
name = "cudnn_fused_conv_rewriter_test",
srcs = ["cudnn_fused_conv_rewriter_test.cc"],
tags = [
"gpu",
"no_oss",
"noasan",
"nomsan",
"requires-gpu-sm70",
],
deps = [
":backend_configs_cc",
":cublas_cudnn",
":cudnn_fused_conv_rewriter",
":gpu_conv_rewriter",
":ir_emission_utils",
"//tensorflow/compiler/xla:test_helpers",
"//tensorflow/compiler/xla/service:algebraic_simplifier",
"//tensorflow/compiler/xla/service:convert_mover",
"//tensorflow/compiler/xla/service:hlo_constant_folding",
"//tensorflow/compiler/xla/service:hlo_parser",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service:hlo_pass_pipeline",
"//tensorflow/compiler/xla/service:pattern_matcher",
"//tensorflow/compiler/xla/service:pattern_matcher_gmock",
"//tensorflow/compiler/xla/service:reshape_mover",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_codegen_test",
"//tensorflow/compiler/xla/tests:filecheck",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/tsl/lib/core:status_test_util",
"//tensorflow/tsl/platform:statusor",
"//tensorflow/tsl/platform:test",
"//tensorflow/tsl/platform:test_main",
"@com_google_absl//absl/strings",
"@com_google_googletest//:gtest_main",
],
)
xla_cc_test(
name = "conv_layout_normalization_test",
srcs = ["conv_layout_normalization_test.cc"],
tags = tf_cuda_tests_tags(),
deps = [
"//tensorflow/compiler/xla:test_helpers",
"//tensorflow/compiler/xla/service:hlo_constant_folding",
"//tensorflow/compiler/xla/service:hlo_parser",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service:hlo_pass_pipeline",
"//tensorflow/compiler/xla/service:pattern_matcher",
"//tensorflow/compiler/xla/service:pattern_matcher_gmock",
"//tensorflow/compiler/xla/service:reshape_mover",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_codegen_test",
"//tensorflow/compiler/xla/tests:filecheck",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/tsl/lib/core:status_test_util",
"//tensorflow/tsl/platform:test",
"//tensorflow/tsl/platform:test_main",
],
)
cc_library(
name = "variadic_op_splitter",
srcs = ["variadic_op_splitter.cc"],
hdrs = ["variadic_op_splitter.h"],
deps = [
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/tsl/platform:errors",
"//tensorflow/tsl/platform:logging",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/types:span",
],
)
cc_library(
name = "gpu_scatter_expander",
srcs = ["gpu_scatter_expander.cc"],
hdrs = ["gpu_scatter_expander.h"],
deps = [
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:scatter_expander",
"@com_google_absl//absl/algorithm:container",
],
)
xla_cc_test(
name = "variadic_op_splitter_test",
srcs = ["variadic_op_splitter_test.cc"],
tags = [
"nomsan",
],
deps = [
":ir_emission_utils",
":variadic_op_splitter",
"//tensorflow/compiler/xla:literal_util",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/hlo/utils:hlo_matchers",
"//tensorflow/compiler/xla/service:hlo_parser",
"//tensorflow/compiler/xla/service:pattern_matcher",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
],
)
tf_proto_library(
name = "gpu_autotuning_proto",
srcs = ["gpu_autotuning.proto"],
cc_api_version = 2,
protodeps = [
"//tensorflow/compiler/xla:xla_data_proto",
"//tensorflow/compiler/xla/service:hlo_proto",
"//tensorflow/compiler/xla:autotuning_proto",
],
)
cc_library(
name = "hlo_algorithm_denylist",
srcs = ["hlo_algorithm_denylist.cc"],
hdrs = ["hlo_algorithm_denylist.h"],
deps = [
":gpu_autotuning_proto_cc",
"//tensorflow/compiler/xla:autotuning_proto_cc",
"//tensorflow/compiler/xla:debug_options_flags",
"//tensorflow/compiler/xla/stream_executor",
"@com_google_absl//absl/container:flat_hash_map",
],
)
xla_cc_test(
name = "hlo_algorithm_denylist_test",
srcs = ["hlo_algorithm_denylist_test.cc"],
data = ["data/hlo_algorithm_denylist.pbtxt"],
tags = [
"nomsan",
],
deps = [
":hlo_algorithm_denylist",
"//tensorflow/compiler/xla/stream_executor:dnn",
"//tensorflow/tsl/platform:env",
"//tensorflow/tsl/platform:logging",
"//tensorflow/tsl/platform:path",
"//tensorflow/tsl/platform:resource_loader",
"//tensorflow/tsl/platform:test",
"//tensorflow/tsl/platform:test_main",
],
)
cc_library(
name = "alias_passthrough_params",
srcs = ["alias_passthrough_params.cc"],
hdrs = ["alias_passthrough_params.h"],
deps = [
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_pass",
],
)
xla_cc_test(
name = "alias_passthrough_params_test",
srcs = ["alias_passthrough_params_test.cc"],
tags = [
"nomsan",
],
deps = [
":alias_passthrough_params",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:test_utils",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
"//tensorflow/tsl/lib/core:status_test_util",
"//tensorflow/tsl/platform:logging",
"//tensorflow/tsl/platform:test",
],
)
cc_library(
name = "horizontal_loop_fusion",
srcs = ["horizontal_loop_fusion.cc"],
hdrs = ["horizontal_loop_fusion.h"],
deps = [
":gpu_fusible",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_creation_utils",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/tsl/platform:errors",
"//tensorflow/tsl/platform:logging",
"@com_google_absl//absl/container:flat_hash_set",
"@com_google_absl//absl/types:span",
],
)
xla_cc_test(
name = "horizontal_loop_fusion_test",
srcs = ["horizontal_loop_fusion_test.cc"],
tags = tf_cuda_tests_tags(),
deps = [
":gpu_device_info_for_tests",
":horizontal_loop_fusion",
":instruction_fusion",
"//tensorflow/compiler/xla:literal",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:test",
"//tensorflow/compiler/xla:test_helpers",
"//tensorflow/compiler/xla/hlo/utils:hlo_matchers",
"//tensorflow/compiler/xla/service:gpu_plugin",
"//tensorflow/compiler/xla/service:hlo_dce",
"//tensorflow/compiler/xla/service:hlo_parser",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service:hlo_pass_pipeline",
"//tensorflow/compiler/xla/service:tuple_simplifier",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
"//tensorflow/tsl/lib/core:status_test_util",
],
)
cc_library(
name = "horizontal_input_fusion",
srcs = ["horizontal_input_fusion.cc"],
hdrs = ["horizontal_input_fusion.h"],
deps = [
":gpu_device_info",
":gpu_fusible",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_creation_utils",
"//tensorflow/compiler/xla/service:hlo_pass",
"@com_google_absl//absl/container:flat_hash_set",
"@com_google_absl//absl/types:span",
],
)
xla_cc_test(
name = "horizontal_input_fusion_test",
srcs = ["horizontal_input_fusion_test.cc"],
tags = tf_cuda_tests_tags(),
deps = [
":gpu_device_info_for_tests",
":horizontal_input_fusion",
":multi_output_fusion",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:test",
"//tensorflow/compiler/xla/hlo/utils:hlo_matchers",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_codegen_test",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
],
)
cc_library(
name = "reduction_degenerate_dim_remover",
srcs = ["reduction_degenerate_dim_remover.cc"],
hdrs = ["reduction_degenerate_dim_remover.h"],
deps = [
":ir_emission_utils",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service:pattern_matcher",
"//tensorflow/tsl/platform:errors",
"//tensorflow/tsl/platform:logging",
"@com_google_absl//absl/algorithm:container",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "reduction_dimension_grouper",
srcs = ["reduction_dimension_grouper.cc"],
hdrs = ["reduction_dimension_grouper.h"],
deps = [
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_pass",
"@com_google_absl//absl/algorithm:container",
],
)
cc_library(
name = "reduction_splitter",
srcs = ["reduction_splitter.cc"],
hdrs = ["reduction_splitter.h"],
deps = [
":ir_emission_utils",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_pass",
],
)
xla_cc_test(
name = "reduction_splitter_test",
srcs = ["reduction_splitter_test.cc"],
deps = [
":reduction_splitter",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:test",
"//tensorflow/compiler/xla:test_helpers",
"//tensorflow/compiler/xla/hlo/utils:hlo_matchers",
"//tensorflow/compiler/xla/service:hlo_parser",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
],
)
cc_library(
name = "reduction_layout_normalizer",
srcs = ["reduction_layout_normalizer.cc"],
hdrs = ["reduction_layout_normalizer.h"],
deps = [
":ir_emission_utils",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service:pattern_matcher",
"//tensorflow/tsl/platform:errors",
"//tensorflow/tsl/platform:logging",
"@com_google_absl//absl/algorithm:container",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "tree_reduction_rewriter",
srcs = ["tree_reduction_rewriter.cc"],
hdrs = ["tree_reduction_rewriter.h"],
deps = [
":ir_emission_utils",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:collective_ops_utils",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service/gpu:gpu_types",
"@com_google_absl//absl/algorithm:container",
"@com_google_absl//absl/numeric:bits",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "gemm_broadcast_folding_rewriter",
srcs = ["gemm_broadcast_folding_rewriter.cc"],
hdrs = ["gemm_broadcast_folding_rewriter.h"],
deps = [
":backend_configs_cc",
":cublas_cudnn",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service:pattern_matcher",
"//tensorflow/tsl/platform:errors",
"@com_google_absl//absl/algorithm:container",
],
)
# See tap/tensorflow.xla_gpu_jitrt.
test_suite(
name = "jitrt_executable_tests",
tests = [
# copybara:uncomment "//platforms/xla/tests/internal:xfeed_test_gpu",
# copybara:uncomment "//third_party/py/jax/experimental/jax2tf/tests:primitives_test_gpu",
# copybara:uncomment "//third_party/py/jax/tests:pmap_test_gpu",
# copybara:uncomment "//tensorflow/compiler/tests:fft_test_gpu",
"//tensorflow/compiler/xla/python:xla_client_test_gpu",
"//tensorflow/compiler/xla/service/gpu:cudnn_fused_conv_rewriter_test",
"//tensorflow/compiler/xla/service/gpu:cudnn_fused_mha_rewriter_test",
"//tensorflow/compiler/xla/service/gpu:custom_call_test",
# copybara:uncomment "//tensorflow/compiler/xla/service/gpu:gpu_aot_compilation_test",
"//tensorflow/compiler/xla/service/gpu/tests:add_preds.hlo.test",
"//tensorflow/compiler/xla/service/gpu/tests:concat.hlo.test",
"//tensorflow/compiler/xla/service/gpu/tests:constant.hlo.test",
"//tensorflow/compiler/xla/service/gpu/tests:copy.hlo.test",
"//tensorflow/compiler/xla/service/gpu/tests:copy_nested.hlo.test",
"//tensorflow/compiler/xla/service/gpu/tests:dynamic_update_slice_inplace.hlo.test",
"//tensorflow/compiler/xla/service/gpu/tests:element_wise_row_vectorization.hlo.test",
"//tensorflow/compiler/xla/service/gpu/tests:element_wise_row_vectorization_test",
"//tensorflow/compiler/xla/service/gpu/tests:fused_scatter.hlo.test",
"//tensorflow/compiler/xla/service/gpu/tests:fused_slice.hlo.test",
"//tensorflow/compiler/xla/service/gpu/tests:fused_slice_different_operands.hlo.test",
"//tensorflow/compiler/xla/service/gpu/tests:fusion.hlo.test",
"//tensorflow/compiler/xla/service/gpu/tests:gemm_broadcast_folding_rewrite_test",
"//tensorflow/compiler/xla/service/gpu/tests:gemm_rewrite_test",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_alignment_test",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_atomic_test",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_compilation_parallelism_test",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_convolution_regression_test",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_copy_alone_test",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_copy_test",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_dyn_shape_test",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_ftz_test",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_fusion_test",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_index_test",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_infeed_test",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_input_fusible_slice_test",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_kernel_tiling_test",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_ldg_test",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_noalias_test",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_reduce_scatter_creator_test",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_spmd_e2e_compile_test",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_too_many_blocks_test",
"//tensorflow/compiler/xla/service/gpu/tests:gpu_unrolling_test",
"//tensorflow/compiler/xla/service/gpu/tests:in_place_op_test",
"//tensorflow/compiler/xla/service/gpu/tests:kernel_launch_test",
"//tensorflow/compiler/xla/service/gpu/tests:kernel_reuse.hlo.test",
"//tensorflow/compiler/xla/service/gpu/tests:launch_dimensions.hlo.test",
"//tensorflow/compiler/xla/service/gpu/tests:pad_to_static.hlo.test",
"//tensorflow/compiler/xla/service/gpu/tests:parallel_reduction_test",
"//tensorflow/compiler/xla/service/gpu/tests:pred_arithmetic_test",
"//tensorflow/compiler/xla/service/gpu/tests:reduce_unnested.hlo.test",
"//tensorflow/compiler/xla/service/gpu/tests:reduction_degenerate_dim_remover_test",
"//tensorflow/compiler/xla/service/gpu/tests:reduction_dimension_grouper_test",
"//tensorflow/compiler/xla/service/gpu/tests:reduction_layout_normalizer_test",
"//tensorflow/compiler/xla/service/gpu/tests:reduction_vectorization_sm_all.hlo.test",
"//tensorflow/compiler/xla/service/gpu/tests:reduction_vectorization_test",
"//tensorflow/compiler/xla/service/gpu/tests:rng_get_and_update_state.hlo.test",
"//tensorflow/compiler/xla/service/gpu/tests:scatter.hlo.test",
"//tensorflow/compiler/xla/service/gpu/tests:select_and_scatter.hlo.test",
"//tensorflow/compiler/xla/service/gpu/tests:select_and_scatter_test",
"//tensorflow/compiler/xla/service/gpu/tests:single_instruction.hlo.test",
"//tensorflow/compiler/xla/service/gpu/tests:slice_to_dynamic.hlo.test",
"//tensorflow/compiler/xla/service/gpu/tests:sorting.hlo.test",
"//tensorflow/compiler/xla/service/gpu/tests:sorting_test",
"//tensorflow/compiler/xla/service/gpu/tests:swap_conv_operands_test",
"//tensorflow/compiler/xla/service/gpu/tests:tree_reduction_rewriter_test",
"//tensorflow/compiler/xla/tests:all_reduce_test_gpu",
"//tensorflow/compiler/xla/tests:array_elementwise_ops_test_gpu",
"//tensorflow/compiler/xla/tests:axpy_simple_test_gpu",
"//tensorflow/compiler/xla/tests:bad_rng_shape_validation_test_gpu",
"//tensorflow/compiler/xla/tests:batch_normalization_test_gpu",
"//tensorflow/compiler/xla/tests:bfloat16_test_gpu",
"//tensorflow/compiler/xla/tests:binop_scaling_test_gpu",
"//tensorflow/compiler/xla/tests:bitcast_convert_test_gpu",
"//tensorflow/compiler/xla/tests:broadcast_simple_test_gpu",
"//tensorflow/compiler/xla/tests:broadcast_test_gpu",
"//tensorflow/compiler/xla/tests:buffer_donation_test_gpu",
"//tensorflow/compiler/xla/tests:call_test_gpu",
"//tensorflow/compiler/xla/tests:check_execution_arity_test_gpu",
"//tensorflow/compiler/xla/tests:cholesky_test_gpu",
"//tensorflow/compiler/xla/tests:client_test_gpu",
"//tensorflow/compiler/xla/tests:compilation_cache_test_gpu",
"//tensorflow/compiler/xla/tests:compute_constant_test_gpu",
"//tensorflow/compiler/xla/tests:concat_test_gpu",
"//tensorflow/compiler/xla/tests:conditional_test_gpu",
"//tensorflow/compiler/xla/tests:constant_reduction_function_test_gpu",
"//tensorflow/compiler/xla/tests:constants_test_gpu",
"//tensorflow/compiler/xla/tests:conv_depthwise_backprop_filter_test_gpu",
"//tensorflow/compiler/xla/tests:conv_depthwise_test_gpu",
"//tensorflow/compiler/xla/tests:convert_test_gpu",
"//tensorflow/compiler/xla/tests:convolution_dimension_numbers_test_gpu",
"//tensorflow/compiler/xla/tests:convolution_test_1d_autotune_disabled_gpu",
"//tensorflow/compiler/xla/tests:convolution_test_1d_gpu_alternative_layout_gpu",
"//tensorflow/compiler/xla/tests:convolution_test_1d_no_vmodule_gpu",
"//tensorflow/compiler/xla/tests:convolution_test_autotune_disabled_gpu",
"//tensorflow/compiler/xla/tests:convolution_test_cudnn_frontend_disabled_gpu",
"//tensorflow/compiler/xla/tests:convolution_test_gpu",
"//tensorflow/compiler/xla/tests:convolution_test_gpu_alternative_layout_gpu",
"//tensorflow/compiler/xla/tests:convolution_variants_test_gpu",
"//tensorflow/compiler/xla/tests:copy_test_gpu",
"//tensorflow/compiler/xla/tests:cpu_gpu_fusion_test_gpu",
"//tensorflow/compiler/xla/tests:deallocation_test_gpu",
"//tensorflow/compiler/xla/tests:deconstruct_tuple_test_gpu",
"//tensorflow/compiler/xla/tests:deep_graph_test_gpu",
"//tensorflow/compiler/xla/tests:dot_operation_single_threaded_runtime_test_gpu",
"//tensorflow/compiler/xla/tests:dot_operation_test_autotune_disabled_gpu",
"//tensorflow/compiler/xla/tests:dot_operation_test_gpu",
"//tensorflow/compiler/xla/tests:dynamic_ops_test_gpu",
"//tensorflow/compiler/xla/tests:float8_test_gpu",
"//tensorflow/compiler/xla/tests:floor_ceil_test_gpu",
"//tensorflow/compiler/xla/tests:fmax_fmin_test_gpu",
"//tensorflow/compiler/xla/tests:gather_operation_test_gpu",
"//tensorflow/compiler/xla/tests:get_dimension_size_test_gpu",
"//tensorflow/compiler/xla/tests:grouped_convolution_test_gpu",
"//tensorflow/compiler/xla/tests:half_test_gpu",
"//tensorflow/compiler/xla/tests:iota_test_gpu",
"//tensorflow/compiler/xla/tests:local_client_allocation_test_gpu",
"//tensorflow/compiler/xla/tests:local_client_execute_test_gpu",
"//tensorflow/compiler/xla/tests:log_test_gpu",
"//tensorflow/compiler/xla/tests:map_test_gpu",
"//tensorflow/compiler/xla/tests:matmul_test_gpu",
"//tensorflow/compiler/xla/tests:matrix_ops_simple_test_gpu",
"//tensorflow/compiler/xla/tests:multidimensional_slice_test_gpu",
"//tensorflow/compiler/xla/tests:multioutput_fusion_test_gpu",
"//tensorflow/compiler/xla/tests:outfeed_in_nested_computation_test_gpu",
"//tensorflow/compiler/xla/tests:pad_test_gpu",
"//tensorflow/compiler/xla/tests:params_test_gpu",
"//tensorflow/compiler/xla/tests:pred_test_gpu",
"//tensorflow/compiler/xla/tests:prng_test_gpu",
"//tensorflow/compiler/xla/tests:ptxas_bug_120501638_gpu",
"//tensorflow/compiler/xla/tests:query_inferred_shape_test_gpu",
"//tensorflow/compiler/xla/tests:reduce_hlo_test_gpu",
"//tensorflow/compiler/xla/tests:reduce_precision_test_gpu",
"//tensorflow/compiler/xla/tests:reduce_test_gpu",
"//tensorflow/compiler/xla/tests:reduce_window_test_gpu",
"//tensorflow/compiler/xla/tests:replay_test_gpu",
"//tensorflow/compiler/xla/tests:reshape_motion_test_gpu",
"//tensorflow/compiler/xla/tests:reshape_test_gpu",
"//tensorflow/compiler/xla/tests:reverse_test_gpu",
"//tensorflow/compiler/xla/tests:round_trip_packed_literal_test_gpu",
"//tensorflow/compiler/xla/tests:round_trip_transfer_test_gpu",
"//tensorflow/compiler/xla/tests:sample_text_test_gpu",
"//tensorflow/compiler/xla/tests:scalar_computations_test_gpu",
"//tensorflow/compiler/xla/tests:scatter_test_gpu",
"//tensorflow/compiler/xla/tests:select_and_scatter_test_gpu",
"//tensorflow/compiler/xla/tests:select_test_gpu",
"//tensorflow/compiler/xla/tests:slice_test_gpu",
"//tensorflow/compiler/xla/tests:token_hlo_test_gpu",
"//tensorflow/compiler/xla/tests:transfer_manager_test_gpu",
"//tensorflow/compiler/xla/tests:transpose_test_gpu",
"//tensorflow/compiler/xla/tests:triangular_solve_test_gpu",
"//tensorflow/compiler/xla/tests:tuple_test_gpu",
"//tensorflow/compiler/xla/tests:unary_op_test_gpu",
"//tensorflow/compiler/xla/tests:value_inference_test_gpu",
"//tensorflow/compiler/xla/tests:vector_ops_reduce_test_gpu",
"//tensorflow/compiler/xla/tests:vector_ops_simple_test_gpu",
"//tensorflow/compiler/xla/tests:while_test_gpu",
"//tensorflow/compiler/xla/tests:xla_hlo_profile_test_gpu",
] + if_google([
# Currently fails in OSS.
"//tensorflow/python/kernel_tests/signal:fft_ops_test_xla_gpu",
]),
)
cc_library(
name = "metrics",
srcs = ["metrics.cc"],
hdrs = ["metrics.h"],
deps = [
"//tensorflow/tsl/lib/monitoring:sampler",
],
)
cc_library(
name = "precompiled_kernels",
srcs = if_gpu_is_configured(["precompiled_kernels.cc"]),
hdrs = if_gpu_is_configured(["precompiled_kernels.h"]),
deps = if_gpu_is_configured([
"@com_google_absl//absl/base",
"@com_google_absl//absl/base:core_headers",
"@com_google_absl//absl/container:flat_hash_map",
"//tensorflow/compiler/xla:status",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:types",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla/stream_executor:device_memory",
"//tensorflow/compiler/xla/stream_executor:stream_executor_headers",
"//tensorflow/compiler/xla/stream_executor/gpu:asm_compiler",
"//tensorflow/compiler/xla/stream_executor/gpu:gpu_asm_opts",
]) + if_rocm_is_configured([
"//tensorflow/compiler/xla/stream_executor/gpu:gpu_stream_header",
"//tensorflow/compiler/xla/stream_executor/rocm:rocm_helpers",
]),
)
cc_library(
name = "triangular_solve_rewriter",
srcs = ["triangular_solve_rewriter.cc"],
hdrs = ["triangular_solve_rewriter.h"],
deps = [
":cublas_cudnn",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_creation_utils",
"//tensorflow/compiler/xla/service:hlo_pass",
"@com_google_absl//absl/strings",
],
)
tsl_gpu_library(
name = "runtime_intrinsics",
srcs = ["runtime_intrinsics.cc"],
hdrs = ["runtime_intrinsics.h"],
deps = [
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:status",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla/service:custom_call_status",
"//tensorflow/compiler/xla/service:custom_call_target_registry",
"//tensorflow/compiler/xla/service:platform_util",
"//tensorflow/compiler/xla/stream_executor",
"@com_google_absl//absl/cleanup",
],
alwayslink = 1,
)
cc_library(
name = "hlo_fusion_stats",
srcs = ["hlo_fusion_stats.cc"],
hdrs = ["hlo_fusion_stats.h"],
deps = [
"//tensorflow/compiler/xla:status",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/tsl/platform:errors",
"//tensorflow/tsl/platform:statusor",
"@com_google_absl//absl/strings",
],
)
xla_cc_test(
name = "hlo_fusion_stats_test",
srcs = ["hlo_fusion_stats_test.cc"],
tags = [
"nomsan",
],
deps = [
":hlo_fusion_stats",
"//tensorflow/compiler/xla:status_macros",
"//tensorflow/compiler/xla:test_helpers",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_parser",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
"//tensorflow/tsl/lib/core:status_test_util",
"//tensorflow/tsl/platform:test",
],
)
cc_library(
name = "scatter_slice_simplifier",
srcs = ["scatter_slice_simplifier.cc"],
hdrs = ["scatter_slice_simplifier.h"],
deps = [
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_creation_utils",
"//tensorflow/compiler/xla/service:hlo_pass",
"@com_google_absl//absl/algorithm:container",
],
)
xla_cc_test(
name = "scatter_slice_simplifier_test",
srcs = ["scatter_slice_simplifier_test.cc"],
deps = [
":scatter_slice_simplifier",
"//tensorflow/compiler/xla/hlo/utils:hlo_matchers",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
],
)
cc_library(
name = "conv_layout_normalization",
srcs = ["conv_layout_normalization.cc"],
hdrs = ["conv_layout_normalization.h"],
deps = [
":cublas_cudnn",
"//tensorflow/compiler/xla:permutation_util",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:window_util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/client:padding",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_creation_utils",
"//tensorflow/tsl/platform:logging",
"@com_google_absl//absl/algorithm:container",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "topk_specializer",
srcs = if_cuda_is_configured(
["topk_specializer.cc"],
["topk_specializer_nocuda.cc"],
),
hdrs = ["topk_specializer.h"],
deps = [
"//tensorflow/compiler/xla:executable_run_options",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:status",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/runtime:custom_call",
"//tensorflow/compiler/xla/runtime:custom_call_registry",
"//tensorflow/compiler/xla/runtime:executable",
"//tensorflow/compiler/xla/runtime:state",
"//tensorflow/compiler/xla/service:executable",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/compiler/xla/service:hlo_proto_cc",
"//tensorflow/compiler/xla/service:tuple_util",
"//tensorflow/compiler/xla/service/gpu/runtime:support",
"//tensorflow/compiler/xla/service/gpu/runtime:topk_kernel",
"//tensorflow/tsl/platform:statusor",
"@com_google_absl//absl/algorithm:container",
"@com_google_absl//absl/container:flat_hash_set",
"@com_google_absl//absl/log",
"@com_google_absl//absl/log:check",
"@com_google_absl//absl/status",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/types:span",
],
)
cc_library(
name = "topk_splitter",
srcs = ["topk_splitter.cc"],
hdrs = ["topk_splitter.h"],
deps = [
"//tensorflow/compiler/xla:literal_util",
"//tensorflow/compiler/xla:shape_util",
"//tensorflow/compiler/xla:status",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla:xla_data_proto_cc",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_creation_utils",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/tsl/platform:statusor",
"@com_google_absl//absl/container:flat_hash_set",
"@com_google_absl//absl/log",
"@com_google_absl//absl/numeric:bits",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/types:span",
],
)
xla_cc_test(
name = "topk_splitter_test",
srcs = ["topk_splitter_test.cc"],
deps = [
":topk_splitter",
"//tensorflow/compiler/xla:error_spec",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_dce",
"//tensorflow/compiler/xla/service:pattern_matcher",
"//tensorflow/compiler/xla/service:topk_rewriter",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:verified_hlo_module",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
"//tensorflow/tsl/platform:status",
"//tensorflow/tsl/platform:status_matchers",
"//tensorflow/tsl/platform:statusor",
"//tensorflow/tsl/platform:test",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "copy_fusion",
srcs = ["copy_fusion.cc"],
hdrs = ["copy_fusion.h"],
deps = [
":ir_emission_utils",
"//tensorflow/compiler/xla:statusor",
"//tensorflow/compiler/xla/hlo/ir:hlo",
"//tensorflow/compiler/xla/service:hlo_pass",
"@com_google_absl//absl/container:flat_hash_set",
],
)
xla_cc_test(
name = "copy_fusion_test",
srcs = ["copy_fusion_test.cc"],
deps = [
":copy_fusion",
":gpu_device_info_for_tests",
":gpu_fusible",
"//tensorflow/compiler/xla/hlo/utils:hlo_matchers",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/compiler/xla/tests:xla_internal_test_main",
"@com_google_absl//absl/strings",
],
)
xla_cc_test(
name = "autotuner_util_test",
srcs = if_cuda_is_configured(["autotuner_util_test.cc"]),
deps = if_cuda_is_configured([
":autotuner_util",
"//tensorflow/compiler/xla:autotune_results_proto_cc",
"@com_google_googletest//:gtest",
"@com_google_absl//absl/base:log_severity",
"@com_google_absl//absl/log:scoped_mock_log",
"@com_google_absl//absl/strings",
"//tensorflow/compiler/xla/tests:hlo_test_base",
"//tensorflow/tsl/lib/core:status_test_util",
"//tensorflow/tsl/platform:protobuf",
]) + ["//tensorflow/compiler/xla/tests:xla_internal_test_main"],
)