parent
ab72d28a5e
commit
12e9bf6c17
@ -1,97 +0,0 @@
|
||||
// Copyright (c) 2018 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.
|
||||
|
||||
/* 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.
|
||||
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. */
|
||||
|
||||
syntax = "proto3";
|
||||
package sendrecv;
|
||||
|
||||
option cc_generic_services = false;
|
||||
|
||||
service SendRecvService {
|
||||
// For parameter server round-robin like hashing, do not split tensors.
|
||||
// Send and recv only one tensor
|
||||
// TODO(typhoonzero): add streaming API
|
||||
rpc SendVariable(VariableMessage) returns (VoidMessage) {}
|
||||
// Argument VariableMessage for GetVariable should only contain varname.
|
||||
rpc GetVariable(VariableMessage) returns (VariableMessage) {}
|
||||
// pre-fetch variable by given variable name and Ids
|
||||
rpc PrefetchVariable(VariableMessage) returns (VariableMessage) {}
|
||||
|
||||
rpc CheckpointNotify(VariableMessage) returns (VoidMessage) {}
|
||||
}
|
||||
|
||||
// VariableMessage is serialized paddle variable message.
|
||||
// It can be:
|
||||
// LoDTensor
|
||||
// SelectedRows
|
||||
enum VarType {
|
||||
LOD_TENSOR = 0;
|
||||
SELECTED_ROWS = 1;
|
||||
NCCL_ID = 2;
|
||||
}
|
||||
|
||||
// NOTICE(gongwb):don't modify this proto if you are not
|
||||
// not familar with how we serialize in sendrecvop_utils.h
|
||||
// and deserilize it in variable_response.h.
|
||||
message VariableMessage {
|
||||
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; }
|
||||
string varname = 1;
|
||||
// TODO(Yancey1989): reference framework::proto::VarDesc::VarType
|
||||
VarType type = 2;
|
||||
// bool persistable is not needed for sending.
|
||||
// tensor info:
|
||||
Type data_type = 3;
|
||||
repeated int64 dims = 4;
|
||||
|
||||
// lod details:
|
||||
int64 lod_level = 5;
|
||||
repeated LodData lod = 6;
|
||||
// selected_rows height, aka. original dim0
|
||||
int64 slr_height = 7;
|
||||
// tensor data
|
||||
bytes serialized = 8;
|
||||
// selected_rows data
|
||||
bytes rows = 9;
|
||||
// Look up table block execution output variable name.
|
||||
string out_varname = 10;
|
||||
// If 1, the ps server will start profiling, the ps
|
||||
// server stops profiling and generates a profile to /tmp/profile_ps_*
|
||||
// when profile switches from 1 to 2.
|
||||
int64 profile = 11;
|
||||
}
|
||||
|
||||
message VoidMessage {}
|
Loading…
Reference in new issue