|
|
|
@ -73,12 +73,12 @@ class RecvOp : public framework::OperatorBase {
|
|
|
|
|
framework::CopyFrom(t, dev_ctx.GetPlace(), dev_ctx, tensor);
|
|
|
|
|
|
|
|
|
|
std::string program_str = Attr<std::string>("OptimizeProgram");
|
|
|
|
|
framework::Program program_desc;
|
|
|
|
|
framework::ProgramDesc program_desc;
|
|
|
|
|
program_desc.ParseFromString(program_str);
|
|
|
|
|
framework::ProgramDescBind program(program_desc);
|
|
|
|
|
framework::Executor executor(dev_ctx);
|
|
|
|
|
// Run sub graph to get optimized tensor
|
|
|
|
|
executor.Run(*program, &recv_scope, block->ID(),
|
|
|
|
|
executor.Run(program, &recv_scope, 0, /*global_block*/
|
|
|
|
|
false /*create_local_scope*/);
|
|
|
|
|
|
|
|
|
|
auto *out_var = recv_scope.FindVar("Out");
|
|
|
|
@ -110,9 +110,8 @@ This operator will recv tensor from send_op
|
|
|
|
|
"IP address to listen on.")
|
|
|
|
|
.SetDefault("127.0.0.1:6164")
|
|
|
|
|
.AddCustomChecker([](const std::string &ip) { return !ip.empty(); });
|
|
|
|
|
AddAttr<framework::BlockDescBind *>(
|
|
|
|
|
"OptimizeProgram", "type string",
|
|
|
|
|
"Serialized ProgramDesc string for recv to run.");
|
|
|
|
|
AddAttr<std::string>("OptimizeProgram", "type string",
|
|
|
|
|
"Serialized ProgramDesc string for recv to run.");
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|