Browse Source

fix sc check

pull/1699/head
lichun 4 years ago
parent
commit
cbf9a83381
2 changed files with 6 additions and 5 deletions
  1. +5
    -5
      ge/graph/build/memory/graph_mem_assigner.cc
  2. +1
    -0
      ge/graph/build/memory/graph_mem_assigner.h

+ 5
- 5
ge/graph/build/memory/graph_mem_assigner.cc View File

@@ -2122,10 +2122,10 @@ void GraphMemoryAssigner::CheckNeedCalcDistAndUpdateVisitInfo(

void GraphMemoryAssigner::UpdateMemBlockVisitInfo(const NodePtr &update_node,
const InDataAnchorPtr &in_data_anchor,
bool need_update_node,
bool is_same_input,
size_t matched_mem_offset,
map<size_t, pair<NodePtr, vector<int64_t>>> &mem_block_visit_info) {
if (need_update_node) {
if (!is_same_input) {
mem_block_visit_info[matched_mem_offset].first = node;
mem_block_visit_info[matched_mem_offset].second.clear();
}
@@ -2143,7 +2143,7 @@ void GraphMemoryAssigner::CalcDistanceAndUpdateDesc(const map<string, int64_t> &
auto prev_node = mem_block_visit_info[matched_mem_offset].first;
auto prev_node_input_index_vec = mem_block_visit_info[matched_mem_offset].second;
GE_IF_BOOL_EXEC(prev_node == nullptr, is_need_skip = true; return);
bool need_update_node = true;
bool is_same_input = false;
if (prev_node_input_index_vec.size() == 1 && prev_node_input_index_vec[0] == -1) {
// prev_node is producer and the data is just be produced(not visited by other node)
GE_IF_BOOL_EXEC(prev_node->GetOpDesc() == nullptr, is_need_skip = true; return);
@@ -2173,13 +2173,13 @@ void GraphMemoryAssigner::CalcDistanceAndUpdateDesc(const map<string, int64_t> &
} else {
distance = prev_next_distances[0]; // use the same prev_distance as previous anchor
}
need_update_node = false;
is_same_input = true;
} else {
distance = node_index_in_stream.at(node->GetName()) - node_index_in_stream.at(prev_node->GetName()) - 1;
UpdatePrevNodeInputDesc(prev_node, prev_node_input_index_vec, distance);
}
}
UpdateMemBlockVisitInfo(node, in_data_anchor, matched_mem_offset, mem_block_visit_info, need_update_node);
UpdateMemBlockVisitInfo(node, in_data_anchor, matched_mem_offset, mem_block_visit_info, is_same_input);
UpdateCurNodeInputDesc(node, in_data_anchor->GetIdx(), distance);
}



+ 1
- 0
ge/graph/build/memory/graph_mem_assigner.h View File

@@ -227,6 +227,7 @@ class GraphMemoryAssigner {

void UpdateMemBlockVisitInfo(const NodePtr &update_node,
const InDataAnchorPtr &in_data_anchor,
bool is_same_input,
size_t matched_mem_offset,
map<size_t, pair<NodePtr, vector<int64_t>>> &mem_block_visit_info);



Loading…
Cancel
Save