blob: ce5f17dc3ca6627b9e11a8c0c66771e0279325b8 [file] [log] [blame]
# GPU executor library for data-parallel kernel launches and cross-platform
# HPC-library APIs.
#
# Throughout this file, all targets are built with the standard crosstool and
# do not link against restricted binary blobs.
load("//tensorflow:tensorflow.bzl", "tf_cuda_library")
load("//tensorflow/core/platform:rules_cc.bzl", "cc_library")
load("//tensorflow/core/platform:build_config_root.bzl", "if_static")
load("//tensorflow/stream_executor:build_defs.bzl", "stream_executor_friends")
package(
default_visibility = [":friends"],
licenses = ["notice"],
)
package_group(
name = "friends",
packages = stream_executor_friends(),
)
cc_library(
name = "launch_dim",
hdrs = [
"gpu_launch_dim.h",
"launch_dim.h",
],
deps = [
"//tensorflow/compiler/xla/stream_executor:launch_dim",
],
)
cc_library(
name = "device_description",
hdrs = ["device_description.h"],
deps = [
"//tensorflow/compiler/xla/stream_executor:device_description",
],
)
cc_library(
name = "event",
hdrs = [
"device_memory.h",
"event.h",
"kernel.h",
"kernel_spec.h",
"platform.h",
"stream.h",
"stream_executor_internal.h",
],
deps = [
"//tensorflow/compiler/xla/stream_executor:event",
],
)
cc_library(
name = "kernel",
hdrs = [
"blas.h",
"device_description.h",
"device_options.h",
"event.h",
"kernel.h",
"kernel_spec.h",
"launch_dim.h",
"multi_platform_manager.h",
"platform.h",
"plugin_registry.h",
"stream_executor.h",
"stream_executor_internal.h",
"timer.h",
"trace_listener.h",
],
deps = [
"//tensorflow/compiler/xla/stream_executor:kernel",
],
)
cc_library(
name = "kernel_spec",
hdrs = ["kernel_spec.h"],
deps = [
"//tensorflow/compiler/xla/stream_executor:kernel_spec",
],
)
cc_library(
name = "kernel_cache_config",
hdrs = ["kernel_cache_config.h"],
deps = [
"//tensorflow/compiler/xla/stream_executor:kernel_cache_config",
],
)
cc_library(
name = "module_spec",
hdrs = ["module_spec.h"],
deps = [
"//tensorflow/compiler/xla/stream_executor:module_spec",
],
)
# Aliases for backwards compatibility.
alias(
name = "stream_header",
actual = ":stream_executor_headers",
)
alias(
name = "stream",
actual = ":stream_executor",
)
cc_library(
name = "timer",
hdrs = [
"blas.h",
"kernel.h",
"stream.h",
"stream_executor.h",
"timer.h",
],
deps = [
"//tensorflow/compiler/xla/stream_executor:timer",
],
)
cc_library(
name = "platform",
hdrs = ["platform.h"],
deps = [
"//tensorflow/compiler/xla/stream_executor:platform",
],
)
cc_library(
name = "rng",
hdrs = ["rng.h"],
deps = [
"//tensorflow/compiler/xla/stream_executor:rng",
],
)
cc_library(
name = "temporary_device_memory",
hdrs = ["temporary_device_memory.h"],
deps = [
"//tensorflow/compiler/xla/stream_executor:temporary_device_memory",
],
)
cc_library(
name = "temporary_memory_manager",
hdrs = ["temporary_memory_manager.h"],
deps = [
"//tensorflow/compiler/xla/stream_executor:temporary_memory_manager",
],
)
cc_library(
name = "fft",
hdrs = ["fft.h"],
deps = [
"//tensorflow/compiler/xla/stream_executor:fft",
],
)
cc_library(
name = "blas",
hdrs = ["blas.h"],
deps = [
"//tensorflow/compiler/xla/stream_executor:blas",
],
)
cc_library(
name = "device_memory",
hdrs = ["device_memory.h"],
deps = [
"//tensorflow/compiler/xla/stream_executor:device_memory",
],
)
cc_library(
name = "host_or_device_scalar",
hdrs = ["host_or_device_scalar.h"],
deps = [
"//tensorflow/compiler/xla/stream_executor:host_or_device_scalar",
],
)
cc_library(
name = "device_options",
hdrs = ["device_options.h"],
deps = [
"//tensorflow/compiler/xla/stream_executor:device_options",
],
)
cc_library(
name = "executor_cache",
hdrs = [
"blas.h",
"executor_cache.h",
"fft.h",
"kernel.h",
"kernel_cache_config.h",
"kernel_spec.h",
"platform.h",
"stream.h",
"stream_executor_internal.h",
"trace_listener.h",
],
deps = [
"//tensorflow/compiler/xla/stream_executor:executor_cache",
],
)
cc_library(
name = "multi_platform_manager",
hdrs = ["multi_platform_manager.h"],
deps = [
"//tensorflow/compiler/xla/stream_executor:multi_platform_manager",
],
)
cc_library(
name = "plugin",
hdrs = ["plugin.h"],
deps = [
"//tensorflow/compiler/xla/stream_executor:plugin",
],
)
cc_library(
name = "plugin_registry",
hdrs = ["plugin_registry.h"],
deps = [
"//tensorflow/compiler/xla/stream_executor:plugin_registry",
],
)
cc_library(
name = "scratch_allocator",
hdrs = ["scratch_allocator.h"],
deps = [
"//tensorflow/compiler/xla/stream_executor:scratch_allocator",
],
)
cc_library(
name = "data_type",
hdrs = ["data_type.h"],
deps = [
"//tensorflow/compiler/xla/stream_executor:data_type",
],
)
cc_library(
name = "dnn",
hdrs = ["dnn.h"],
deps = [
"//tensorflow/compiler/xla/stream_executor:dnn",
],
)
cc_library(
name = "stream_executor_internal",
hdrs = [
"stream_executor_internal.h",
],
deps = [
"//tensorflow/compiler/xla/stream_executor:stream_executor_internal",
],
)
cc_library(
name = "stream_executor_pimpl_header",
hdrs = [
"device_description.h",
"kernel.h",
"kernel_cache_config.h",
"stream_executor_pimpl.h",
],
visibility = ["//visibility:public"],
deps = [
"//tensorflow/compiler/xla/stream_executor:stream_executor_pimpl_header",
],
)
# It implements :stream_executor_pimpl_header
tf_cuda_library(
name = "stream_executor_pimpl",
hdrs = ["stream_executor_pimpl.h"],
deps = [
"//tensorflow/compiler/xla/stream_executor:stream_executor_pimpl",
],
)
# The stream_executor_headers target does not prescribe an implementation.
cc_library(
name = "stream_executor_headers",
textual_hdrs = [
"blas.h",
"device_description.h",
"device_memory.h",
"device_memory_allocator.h",
"device_options.h",
"dnn.h",
"event.h",
"executor_cache.h",
"fft.h",
"gpu_launch_dim.h",
"kernel.h",
"kernel_cache_config.h",
"kernel_spec.h",
"launch_dim.h",
"module_spec.h",
"multi_platform_manager.h",
"platform.h",
"plugin.h",
"plugin_registry.h",
"rng.h",
"stream.h",
"stream_executor.h",
"stream_executor_internal.h",
"stream_executor_pimpl.h",
"temporary_device_memory.h",
"temporary_memory_manager.h",
"timer.h",
"trace_listener.h",
],
visibility = ["//visibility:public"],
deps = [
":host_or_device_scalar",
"//tensorflow/compiler/xla/stream_executor:stream_executor_headers",
],
)
cc_library(
name = "stream_executor",
textual_hdrs = [
"blas.h",
"device_description.h",
"device_memory.h",
"device_memory_allocator.h",
"device_options.h",
"dnn.h",
"event.h",
"executor_cache.h",
"fft.h",
"gpu_launch_dim.h",
"kernel.h",
"kernel_cache_config.h",
"kernel_spec.h",
"launch_dim.h",
"module_spec.h",
"multi_platform_manager.h",
"platform.h",
"plugin.h",
"plugin_registry.h",
"rng.h",
"stream.h",
"stream_executor.h",
"stream_executor_internal.h",
"stream_executor_pimpl.h",
"temporary_device_memory.h",
"temporary_memory_manager.h",
"timer.h",
"trace_listener.h",
],
deps = [":stream_executor_headers"] + if_static([":stream_executor_impl"]),
)
cc_library(
name = "stream_executor_impl",
deps = ["//tensorflow/compiler/xla/stream_executor:stream_executor_impl"],
)
cc_library(
name = "allocator_stats",
hdrs = ["allocator_stats.h"],
deps = [
"//tensorflow/compiler/xla/stream_executor:allocator_stats",
],
)
cc_library(
name = "device_memory_allocator",
hdrs = ["device_memory_allocator.h"],
deps = [
"//tensorflow/compiler/xla/stream_executor:device_memory_allocator",
],
)
cc_library(
name = "tf_allocator_adapter",
hdrs = ["tf_allocator_adapter.h"],
deps = [
"//tensorflow/compiler/xla/stream_executor:tf_allocator_adapter",
],
)
alias(
name = "cuda_platform",
actual = "//tensorflow/compiler/xla/stream_executor/cuda:all_runtime",
)
alias(
name = "rocm_platform",
actual = "//tensorflow/stream_executor/rocm:all_runtime",
)