send_recv.proto.in 1.9 KB
Newer Older
Y
Yancey 已提交
1 2 3
/* Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserve. Licensed under
the Apache License, Version 2.0 (the "License"); you may not use this file
except in compliance with the License.
L
Luo Tao 已提交
4
You may obtain a copy of the License at
武毅 已提交
5

L
Luo Tao 已提交
6
    http://www.apache.org/licenses/LICENSE-2.0
武毅 已提交
7

L
Luo Tao 已提交
8 9 10 11 12
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. */
武毅 已提交
13 14 15 16

syntax = "proto3";
package sendrecv;

17
option cc_generic_services = @cc_generic_services@;
G
gongweibao 已提交
18

武毅 已提交
19
service SendRecvService {
T
typhoonzero 已提交
20
  rpc SendVariable(VariableMessage) returns (VoidMessage) {}
T
typhoonzero 已提交
21
  rpc GetVariable(VariableMessage) returns (VariableMessage) {}
22
  rpc PrefetchVariable(VariableMessage) returns (VariableMessage) {}
T
tangwei12 已提交
23

24
  rpc CheckpointNotify(VariableMessage) returns (VoidMessage) {}
25 26 27

  rpc GetMonomerVariable(VariableMessage) returns (VariableMessage) {}
  rpc GetMonomerBarrier(VariableMessage) returns (VoidMessage) {}
武毅 已提交
28 29
}

Y
Yancey 已提交
30 31 32
enum VarType {
  LOD_TENSOR = 0;
  SELECTED_ROWS = 1;
T
typhoonzero 已提交
33
  NCCL_ID = 2;
Y
Yancey 已提交
34 35
}

武毅 已提交
36
message VariableMessage {
37 38 39 40 41 42 43 44 45 46 47 48
  enum Type {
    // Pod Types
    BOOL = 0;
    INT16 = 1;
    INT32 = 2;
    INT64 = 3;
    FP16 = 4;
    FP32 = 5;
    FP64 = 6;
  }

  message LodData { repeated int64 lod_data = 1; }
武毅 已提交
49
  string varname = 1;
Y
Yancey 已提交
50 51
  // TODO(Yancey1989): reference framework::proto::VarDesc::VarType
  VarType type = 2;
52 53 54 55 56
  Type data_type = 3;
  repeated int64 dims = 4;

  int64 lod_level = 5;
  repeated LodData lod = 6;
57 58 59
  int64 slr_height = 7;
  bytes serialized = 8;
  bytes rows = 9;
Y
Yancey1989 已提交
60
  string out_varname = 10;
X
Xin Pan 已提交
61
  // If 1, the ps server will start profiling, the ps
62
  // server stops profiling and generates a profile to /tmp/profile_ps_*
X
Xin Pan 已提交
63
  // when profile switches from 1 to 2.
X
Xin Pan 已提交
64
  int64 profile = 11;
W
Wu Yi 已提交
65
  int64 trainer_id = 12;
Q
Qiao Longfei 已提交
66
  string table_name = 13;
武毅 已提交
67 68
}

武毅 已提交
69
message VoidMessage {}