diff options
Diffstat (limited to 'tensorflow/contrib/gdr/BUILD')
-rw-r--r-- | tensorflow/contrib/gdr/BUILD | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/tensorflow/contrib/gdr/BUILD b/tensorflow/contrib/gdr/BUILD new file mode 100644 index 0000000000..645e364d19 --- /dev/null +++ b/tensorflow/contrib/gdr/BUILD @@ -0,0 +1,125 @@ +# Description: +# GPU Direct RDMA Out-of-Band Tensor transport for TensorFlow. + +package(default_visibility = [ + "//tensorflow:__subpackages__", +]) + +licenses(["notice"]) # Apache 2.0 + +exports_files(["LICENSE"]) + +filegroup( + name = "all_files", + srcs = glob( + ["**/*"], + exclude = [ + "**/METADATA", + "**/OWNERS", + ], + ), + visibility = ["//tensorflow:__subpackages__"], +) + +filegroup( + name = "c_srcs", + data = glob([ + "**/*.cc", + "**/*.h", + ]), +) + +load( + "//tensorflow:tensorflow.bzl", + "tf_cuda_library", +) + +# For platform specific build config +load( + "//tensorflow/core:platform/default/build_config.bzl", + "tf_proto_library_cc", +) + +tf_proto_library_cc( + name = "gdr_proto", + srcs = ["gdr.proto"], + cc_api_version = 2, + visibility = [ + "//tensorflow:__subpackages__", + ], +) + +tf_cuda_library( + name = "gdr_memory_manager", + srcs = ["gdr_memory_manager.cc"], + hdrs = ["gdr_memory_manager.h"], + linkopts = select({ + "//tensorflow:with_gdr_support": [ + "-libverbs", + "-lrdmacm", + ], + "//conditions:default": [], + }), + deps = [ + ":gdr_proto_cc", + "//tensorflow/core:framework", + "//tensorflow/core:gpu_runtime", + "//tensorflow/core:lib", + "//tensorflow/core:lib_internal", + ], +) + +tf_cuda_library( + name = "gdr_worker", + srcs = ["gdr_worker.cc"], + hdrs = ["gdr_worker.h"], + deps = [ + ":gdr_memory_manager", + "//tensorflow/core:core_cpu_internal", + "//tensorflow/core:framework", + "//tensorflow/core:gpu_runtime", + "//tensorflow/core:lib", + "//tensorflow/core:lib_internal", + "//tensorflow/core/distributed_runtime:graph_mgr", + "//tensorflow/core/distributed_runtime:rendezvous_mgr_interface", + "//tensorflow/core/distributed_runtime:worker", + "//tensorflow/core/distributed_runtime:worker_cache", + "//tensorflow/core/distributed_runtime:worker_env", + "//tensorflow/core/distributed_runtime:worker_session", + "//tensorflow/core/distributed_runtime/rpc:grpc_call", + "//tensorflow/core/distributed_runtime/rpc:grpc_tensor_coding", + "//tensorflow/core/distributed_runtime/rpc:grpc_util", + "//tensorflow/core/distributed_runtime/rpc:grpc_worker_service", + ], +) + +cc_library( + name = "gdr_rendezvous_mgr", + srcs = ["gdr_rendezvous_mgr.cc"], + hdrs = ["gdr_rendezvous_mgr.h"], + deps = [ + ":gdr_memory_manager", + "//tensorflow/core:core_cpu_internal", + "//tensorflow/core:framework", + "//tensorflow/core:lib", + "//tensorflow/core/distributed_runtime:base_rendezvous_mgr", + "//tensorflow/core/distributed_runtime:worker_cache", + "//tensorflow/core/distributed_runtime:worker_env", + "//tensorflow/core/distributed_runtime:worker_interface", + ], +) + +cc_library( + name = "gdr_server_lib", + srcs = ["gdr_server_lib.cc"], + hdrs = ["gdr_server_lib.h"], + linkstatic = 1, # Seems to be needed since alwayslink is broken in bazel + deps = [ + ":gdr_memory_manager", + ":gdr_rendezvous_mgr", + ":gdr_worker", + "//tensorflow/core:lib_internal", + "//tensorflow/core/distributed_runtime/rpc:grpc_server_lib", + ], + alwayslink = 1, +) |