aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/contrib/mpi/BUILD
diff options
context:
space:
mode:
Diffstat (limited to 'tensorflow/contrib/mpi/BUILD')
-rw-r--r--tensorflow/contrib/mpi/BUILD90
1 files changed, 90 insertions, 0 deletions
diff --git a/tensorflow/contrib/mpi/BUILD b/tensorflow/contrib/mpi/BUILD
new file mode 100644
index 0000000000..20ceef5004
--- /dev/null
+++ b/tensorflow/contrib/mpi/BUILD
@@ -0,0 +1,90 @@
+# Description:
+# MPI based communication interfaces and implementations 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",
+ ]),
+)
+
+# For platform specific build config
+load(
+ "//tensorflow/core:platform/default/build_config.bzl",
+ "tf_proto_library_cc",
+)
+
+tf_proto_library_cc(
+ name = "mpi_msg_proto",
+ srcs = ["mpi_msg.proto"],
+ cc_api_version = 2,
+ protodeps = ["//tensorflow/core:worker_proto"],
+ visibility = [
+ "//tensorflow:__subpackages__",
+ ],
+)
+
+cc_library(
+ name = "mpi_utils",
+ srcs = ["mpi_utils.cc"],
+ hdrs = ["mpi_utils.h"],
+ deps = [
+ "//tensorflow/core:core_cpu_internal",
+ "//tensorflow/core:framework",
+ "//tensorflow/core:lib",
+ "//third_party/mpi",
+ ],
+)
+
+cc_library(
+ name = "mpi_rendezvous_mgr",
+ srcs = ["mpi_rendezvous_mgr.cc"],
+ hdrs = ["mpi_rendezvous_mgr.h"],
+ deps = [
+ ":mpi_msg_proto_cc",
+ ":mpi_utils",
+ "//tensorflow/core:core_cpu_internal",
+ "//tensorflow/core:framework",
+ "//tensorflow/core:gpu_runtime",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:protos_cc",
+ "//tensorflow/core:worker_proto_cc",
+ "//tensorflow/core/distributed_runtime:base_rendezvous_mgr",
+ "//tensorflow/core/distributed_runtime:session_mgr",
+ "//tensorflow/core/distributed_runtime:worker_env",
+ "//third_party/mpi",
+ ],
+)
+
+cc_library(
+ name = "mpi_server_lib",
+ srcs = ["mpi_server_lib.cc"],
+ hdrs = ["mpi_server_lib.h"],
+ linkstatic = 1, # Seems to be needed since alwayslink is broken in bazel
+ deps = [
+ ":mpi_rendezvous_mgr",
+ "//tensorflow/core/distributed_runtime/rpc:grpc_server_lib",
+ ],
+ alwayslink = 1,
+)