From 890ad1be4eff1a805fe07667f4044b1d38a07b39 Mon Sep 17 00:00:00 2001 From: Anthony Barbier Date: Wed, 22 Aug 2018 13:44:36 +0100 Subject: COMPMID-1246: Fix bug in handling backends that can't be loaded in the Graph API Change-Id: Iefd175af2f472179d86df5358a1527a79c5666ed Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/145182 Reviewed-by: Georgios Pinitas Tested-by: Jenkins --- src/graph/mutators/SplitLayerSubTensorMutator.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/graph/mutators/SplitLayerSubTensorMutator.cpp') diff --git a/src/graph/mutators/SplitLayerSubTensorMutator.cpp b/src/graph/mutators/SplitLayerSubTensorMutator.cpp index 5f1c9c3186..e21252a9ed 100644 --- a/src/graph/mutators/SplitLayerSubTensorMutator.cpp +++ b/src/graph/mutators/SplitLayerSubTensorMutator.cpp @@ -25,6 +25,7 @@ #include "arm_compute/graph/Graph.h" #include "arm_compute/graph/Logger.h" +#include "arm_compute/graph/Utils.h" #include "arm_compute/graph/algorithms/TopologicalSort.h" #include "arm_compute/graph/backends/BackendRegistry.h" #include "arm_compute/graph/nodes/SplitLayerNode.h" @@ -69,7 +70,7 @@ void SplitLayerSubTensorMutator::mutate(Graph &g) }); // Create subtensors - if(is_valid && backends::BackendRegistry::get().find_backend(input_tensor->desc().target) != nullptr) + if(is_valid && is_target_supported(input_tensor->desc().target)) { ARM_COMPUTE_LOG_GRAPH_VERBOSE("Using sub-tensors for the node with ID : " << node->id() << " and name : " << node->name() << std::endl); @@ -88,8 +89,8 @@ void SplitLayerSubTensorMutator::mutate(Graph &g) Coordinates coords; std::tie(std::ignore, coords) = SplitLayerNode::compute_output_descriptor(input_tensor->desc(), num_splits, axis, i); - backends::IDeviceBackend *backend = backends::BackendRegistry::get().find_backend(output_tensor->desc().target); - std::unique_ptr handle = backend->create_subtensor(input_tensor->handle(), output_shape, coords, extend_parent); + backends::IDeviceBackend &backend = backends::BackendRegistry::get().get_backend(output_tensor->desc().target); + std::unique_ptr handle = backend.create_subtensor(input_tensor->handle(), output_shape, coords, extend_parent); output_tensor->set_handle(std::move(handle)); } } -- cgit v1.2.1