diff --git a/paddle/fluid/framework/details/async_ssa_graph_executor.cc b/paddle/fluid/framework/details/async_ssa_graph_executor.cc index 3f4d9f6ca4297fe1d21403ec1220a1d6df544264..e7cc14b0d1533b64b5a5f412e4b8cb599fa75230 100644 --- a/paddle/fluid/framework/details/async_ssa_graph_executor.cc +++ b/paddle/fluid/framework/details/async_ssa_graph_executor.cc @@ -48,9 +48,9 @@ void ProcessGraph(std::vector graphs, Scope *scope) { RpcCtxMap send_varname_to_ctx; RpcCtxMap recv_varname_to_ctx; for (auto i = 0; i < graphs.size(); ++i) { + std::vector nodes_to_delete; for (auto &node : graphs[i]->Nodes()) { VLOG(3) << "node name " << node->Name(); - std::vector nodes_to_delete; if (node && node->IsOp()) { if (node->Name() == "send") { auto send_var_name = node->Op()->Input("X")[0]; @@ -78,12 +78,12 @@ void ProcessGraph(std::vector graphs, Scope *scope) { VLOG(3) << "find and remove an recv op: " << recv_varname_to_ctx[recv_var_name]; } - VLOG(3) << "delete all recv ops"; - for (auto *node : nodes_to_delete) { - graphs[i]->RemoveNode(node); - } } } + VLOG(3) << "delete all recv ops"; + for (auto *node : nodes_to_delete) { + graphs[i]->RemoveNode(node); + } } // init communicator here if (send_varname_to_ctx.size() > 0) {