1c8b59c046895fa5b6d79f73e0b5817330fcfbfc1A. Unique TensorFlower/* Copyright 2015 The TensorFlow Authors. All Rights Reserved. 29c3043ff3bf31a6a81810b4ce9e87ef936f1f529Manjunath Kudlur 39c3043ff3bf31a6a81810b4ce9e87ef936f1f529Manjunath KudlurLicensed under the Apache License, Version 2.0 (the "License"); 49c3043ff3bf31a6a81810b4ce9e87ef936f1f529Manjunath Kudluryou may not use this file except in compliance with the License. 59c3043ff3bf31a6a81810b4ce9e87ef936f1f529Manjunath KudlurYou may obtain a copy of the License at 69c3043ff3bf31a6a81810b4ce9e87ef936f1f529Manjunath Kudlur 79c3043ff3bf31a6a81810b4ce9e87ef936f1f529Manjunath Kudlur http://www.apache.org/licenses/LICENSE-2.0 89c3043ff3bf31a6a81810b4ce9e87ef936f1f529Manjunath Kudlur 99c3043ff3bf31a6a81810b4ce9e87ef936f1f529Manjunath KudlurUnless required by applicable law or agreed to in writing, software 109c3043ff3bf31a6a81810b4ce9e87ef936f1f529Manjunath Kudlurdistributed under the License is distributed on an "AS IS" BASIS, 119c3043ff3bf31a6a81810b4ce9e87ef936f1f529Manjunath KudlurWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 129c3043ff3bf31a6a81810b4ce9e87ef936f1f529Manjunath KudlurSee the License for the specific language governing permissions and 139c3043ff3bf31a6a81810b4ce9e87ef936f1f529Manjunath Kudlurlimitations under the License. 149c3043ff3bf31a6a81810b4ce9e87ef936f1f529Manjunath Kudlur==============================================================================*/ 159c3043ff3bf31a6a81810b4ce9e87ef936f1f529Manjunath Kudlur 16f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur#ifndef TENSORFLOW_KERNELS_SENDRECV_OPS_H_ 17f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur#define TENSORFLOW_KERNELS_SENDRECV_OPS_H_ 18f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur 19f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur#include "tensorflow/core/framework/op_kernel.h" 20564abcc02f98ae83f8ae9969a7546b510efbbb94Josh Levenberg#include "tensorflow/core/platform/macros.h" 21f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur 22f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlurnamespace tensorflow { 23f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur 24f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlurclass SendOp : public OpKernel { 25f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur public: 26f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur explicit SendOp(OpKernelConstruction* ctx); 27f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur void Compute(OpKernelContext* ctx) override; 28f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur 29f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur private: 30f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur string key_prefix_; 319f932e6ce6061d251ed8e6b038fe3864a9b4d07aDerek Murray Rendezvous::ParsedKey parsed_key_; 32689cbda96444511bd37a01b125791c45a093bec3A. Unique TensorFlower bool hostmem_sendrecv_; 33f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur 34f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur TF_DISALLOW_COPY_AND_ASSIGN(SendOp); 35f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur}; 36f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur 37f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlurclass RecvOp : public AsyncOpKernel { 38f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur public: 39f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur explicit RecvOp(OpKernelConstruction* ctx); 40f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur void ComputeAsync(OpKernelContext* ctx, DoneCallback done) override; 41f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur 42f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur private: 43f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur string key_prefix_; 449f932e6ce6061d251ed8e6b038fe3864a9b4d07aDerek Murray Rendezvous::ParsedKey parsed_key_; 45689cbda96444511bd37a01b125791c45a093bec3A. Unique TensorFlower bool hostmem_sendrecv_; 46f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur 47f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur TF_DISALLOW_COPY_AND_ASSIGN(RecvOp); 48f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur}; 49f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur 50f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur} // end namespace tensorflow 51f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur 52f41959ccb2d9d4c722fe8fc3351401d53bcf490Manjunath Kudlur#endif // TENSORFLOW_KERNELS_SENDRECV_OPS_H_ 53