From 7021979bc2a3c03ae8fa601b967539a4416ab325 Mon Sep 17 00:00:00 2001 From: Qiao Longfei Date: Fri, 18 Jan 2019 12:52:19 +0800 Subject: [PATCH] init communicator --- paddle/fluid/framework/communicator.h | 51 +++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 paddle/fluid/framework/communicator.h diff --git a/paddle/fluid/framework/communicator.h b/paddle/fluid/framework/communicator.h new file mode 100644 index 00000000000..ba8fb3e1731 --- /dev/null +++ b/paddle/fluid/framework/communicator.h @@ -0,0 +1,51 @@ +/* Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. */ + +#pragma once + +#include +#include +#include +#include +#include +#include "paddle/fluid/framework/data_layout.h" +#include "paddle/fluid/framework/ddim.h" +#include "paddle/fluid/framework/framework.pb.h" +#include "paddle/fluid/memory/memory.h" +#include "paddle/fluid/platform/device_context.h" +#include "paddle/fluid/platform/enforce.h" +#include "paddle/fluid/platform/place.h" + +namespace paddle { + +namespace framework { + +class Communicator { + public: + Communicator() {} + ~Communicator() {} + + // send grad + void send() {} + + void receive() {} + + void wait() {} + + private: + std::unique_ptr communicate_thread_; +}; + +} // namespace framework +} // namespace paddle -- GitLab