aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSheri Zhang <sheri.zhang@arm.com>2020-08-24 14:10:44 +0100
committerSheri Zhang <sheri.zhang@arm.com>2020-08-24 15:07:02 +0000
commit747a2c6204f369bfad90b4373da5ebe7e58bdd97 (patch)
tree39e1fa5dbe1785d0c75ea6619996b95aeb0b9af8
parent6d0b384ec8c319b77eb68d1ca04c07db3c8538ac (diff)
downloadComputeLibrary-747a2c6204f369bfad90b4373da5ebe7e58bdd97.tar.gz
COMPMID-3698: Fix segfault running inception_v3, inception_v4, resnet50, resnet_v2_50 when running as qasymm8 on mate20 GPU
Signed-off-by: Sheri Zhang <sheri.zhang@arm.com> Change-Id: I0407fd1cdfb5d1d1d0f333e875ea45abdd2c5916 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3825 Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Sang-Hoon Park <sang-hoon.park@arm.com>
-rw-r--r--src/graph/Graph.cpp6
-rw-r--r--src/graph/detail/ExecutionHelpers.cpp7
2 files changed, 8 insertions, 5 deletions
diff --git a/src/graph/Graph.cpp b/src/graph/Graph.cpp
index ad6f200d36..af75eacc02 100644
--- a/src/graph/Graph.cpp
+++ b/src/graph/Graph.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018-2019 Arm Limited.
+ * Copyright (c) 2018-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -51,9 +51,9 @@ bool Graph::remove_node(NodeID nid)
// Remove output connections
std::set<EdgeID> output_edges_copy = node->output_edges();
- for(auto &outpud_eid : output_edges_copy)
+ for(auto &output_eid : output_edges_copy)
{
- remove_connection(outpud_eid);
+ remove_connection(output_eid);
}
// Remove nid from tagged nodes
diff --git a/src/graph/detail/ExecutionHelpers.cpp b/src/graph/detail/ExecutionHelpers.cpp
index d5752a9f95..5be3706cfe 100644
--- a/src/graph/detail/ExecutionHelpers.cpp
+++ b/src/graph/detail/ExecutionHelpers.cpp
@@ -196,9 +196,12 @@ void call_all_const_node_accessors(Graph &g)
for(auto &node : nodes)
{
- if(node != nullptr && node->type() == NodeType::Const)
+ if(node != nullptr && node->type() == NodeType::Const && node->num_outputs())
{
- call_tensor_accessor(node->output(0));
+ if(!node->output(0)->bound_edges().empty())
+ {
+ call_tensor_accessor(node->output(0));
+ }
}
}
}