From bf33242dc098adc33dabca14844fed95ca97876d Mon Sep 17 00:00:00 2001 From: JZZ-NOTE Date: Tue, 7 Dec 2021 03:07:50 +0000 Subject: [PATCH] multithread_memory_optimize --- .../inference/analysis/passes/memory_optimize_pass.cc | 9 ++++----- .../inference/analysis/passes/memory_optimize_pass.h | 4 ++-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/paddle/fluid/inference/analysis/passes/memory_optimize_pass.cc b/paddle/fluid/inference/analysis/passes/memory_optimize_pass.cc index db0fc126d8017..3fa417c2ea631 100644 --- a/paddle/fluid/inference/analysis/passes/memory_optimize_pass.cc +++ b/paddle/fluid/inference/analysis/passes/memory_optimize_pass.cc @@ -53,8 +53,8 @@ typedef struct { // used. void MemoryOptimizePass::CollectLifeCycle( Graph* graph, std::unordered_map* lifecycles, - int sort_kind, int max_lifecycle) const { - max_lifecycle = 0; + int sort_kind) const { + int max_lifecycle = 0; for (auto* op_node : framework::ir::TopologyVarientSort( *graph, static_cast(sort_kind))) { if (!op_node->IsOp()) continue; @@ -304,11 +304,10 @@ void MemoryOptimizePass::RunImpl(Argument* argument) { // 3. Perform reuse plan: Replace all var's name in the model according to the // mapping table. if (!argument->enable_memory_optim()) return; - // Because of pass is a singleton, graph and max_lifecycle can not be member + // Because of pass is a singleton, graph can not be member // variables,otherwise,errors will be caused under multithreading // conditions. auto graph = argument->main_graph_ptr(); - int max_lifecycle = -1; int sort_kind = 0; std::unordered_map lifecycles; @@ -316,7 +315,7 @@ void MemoryOptimizePass::RunImpl(Argument* argument) { std::unordered_map node2cluster; std::unordered_map cluster_size; - CollectLifeCycle(graph, &lifecycles, sort_kind, max_lifecycle); + CollectLifeCycle(graph, &lifecycles, sort_kind); CollectVarMemorySize(graph, &space_table); MakeSimpleReusePlan(lifecycles, space_table, &node2cluster, &cluster_size); UpdateOpDescsByReuse(graph, node2cluster, sort_kind); diff --git a/paddle/fluid/inference/analysis/passes/memory_optimize_pass.h b/paddle/fluid/inference/analysis/passes/memory_optimize_pass.h index cdeef8d7364fd..57052243d2f18 100644 --- a/paddle/fluid/inference/analysis/passes/memory_optimize_pass.h +++ b/paddle/fluid/inference/analysis/passes/memory_optimize_pass.h @@ -58,8 +58,8 @@ class MemoryOptimizePass : public AnalysisPass { private: void CollectLifeCycle( framework::ir::Graph *graph, - std::unordered_map *lifecycles, int sort_kind, - int max_lifecycle) const; + std::unordered_map *lifecycles, + int sort_kind) const; void CollectVarMemorySize(framework::ir::Graph *graph, space_table_t *space_table) const;