MLBEDSW-8219: Activation can not be fused with dma operation
- A reshape followed by an activation function was converted
to a Memcpy with fused activation. The problem is that Memcpy
does not support activation so no activation was executed.
- Added logic to prevent activation functions to be fused
with the Memcpy.
Change-Id: Ibc7d985e5037146dd1f6cb2601407d0f8b865ac6
Signed-off-by: Johan Alfven <johan.alfven@arm.com>
diff --git a/ethosu/vela/tflite_graph_optimiser.py b/ethosu/vela/tflite_graph_optimiser.py
index ae11bec..85fb8ba 100644
--- a/ethosu/vela/tflite_graph_optimiser.py
+++ b/ethosu/vela/tflite_graph_optimiser.py
@@ -1743,6 +1743,7 @@
# Note: the below checks on prev_op require that a first optimize pass on the full graph has been performed
fuse = (
prev_op.run_on_npu
+ and prev_op.type != Op.Memcpy
and prev_op.type.npu_block_type != NpuBlockType.Default
and len(ifm.ops) == 1
and len(prev_op.outputs[0].consumers()) == 1