aboutsummaryrefslogtreecommitdiff
path: root/src/dynamic_fusion/sketch/gpu/GpuKernelComponentGraph.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/dynamic_fusion/sketch/gpu/GpuKernelComponentGraph.cpp')
-rw-r--r--src/dynamic_fusion/sketch/gpu/GpuKernelComponentGraph.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/dynamic_fusion/sketch/gpu/GpuKernelComponentGraph.cpp b/src/dynamic_fusion/sketch/gpu/GpuKernelComponentGraph.cpp
index 4cf7a7fece..b70a192775 100644
--- a/src/dynamic_fusion/sketch/gpu/GpuKernelComponentGraph.cpp
+++ b/src/dynamic_fusion/sketch/gpu/GpuKernelComponentGraph.cpp
@@ -59,8 +59,13 @@ GpuKernelComponentStream GpuKernelComponentGraph::fuse(const MemoryDescriptorMap
{
const auto component = _components.at(op.op).get();
const auto success = stream.add_component(component);
- ARM_COMPUTE_ERROR_ON(!success);
- ARM_COMPUTE_UNUSED(success);
+ if(!success) // Assume first failure was because the root component is unfusable
+ {
+ stream.new_component_group();
+ const auto success = stream.add_component(component);
+ ARM_COMPUTE_ERROR_ON(!success);
+ ARM_COMPUTE_UNUSED(success);
+ }
}
return stream;