diff --git a/paddle/fluid/framework/ir/graph.cc b/paddle/fluid/framework/ir/graph.cc index 87fc5e6891505087bc6c7acad7dbf2b1b7f513d9..cb22403de5e05a2f83438c854590376497fda918 100644 --- a/paddle/fluid/framework/ir/graph.cc +++ b/paddle/fluid/framework/ir/graph.cc @@ -71,7 +71,7 @@ bool IsDistTrainOp(ir::Node *node, const std::vector &send_vars, } if (!(var.find(".block") == std::string::npos && - var.find(".pserver") != std::string::npos) && + var.find(".pserver") == std::string::npos) && std::find(rpc_vars.begin(), rpc_vars.end(), var) != rpc_vars.end()) { return true; } diff --git a/python/paddle/fluid/transpiler/distribute_transpiler.py b/python/paddle/fluid/transpiler/distribute_transpiler.py index 2192139f8d5950286691a77333dd8ec35505b033..83fc36e08c3c6d79a2c7283a49cdf27e18250d07 100644 --- a/python/paddle/fluid/transpiler/distribute_transpiler.py +++ b/python/paddle/fluid/transpiler/distribute_transpiler.py @@ -1133,7 +1133,8 @@ to transpile() call.") inputs={ 'Ids': [program.global_block().vars[table_grad_name]] }, - outputs={"Out": self.trainer_side_table_grad_list}) + outputs={"Out": self.trainer_side_table_grad_list}, + attrs={RPC_OP_ROLE_ATTR_NAME: DIST_OP_ROLE_ATTR_VALUE}) program.global_block()._insert_op( index=op_index + 2, type="send",