aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLouis Verhaard <louis.verhaard@arm.com>2020-11-25 20:58:51 +0100
committerLouis Verhaard <louis.verhaard@arm.com>2020-11-26 08:57:21 +0100
commitc21d1c76b21f337d46990c2c262bda536f15e930 (patch)
treeefba6330962b56850d7b62c5acdec43365c56636
parent0dd21c79ac6ef588e23393064d25e402e16cc2dd (diff)
downloadethos-u-vela-c21d1c76b21f337d46990c2c262bda536f15e930.tar.gz
MLBEDSW-3583: Prevent DMA for converted FullyConnected
Do not use DMA for weights of a FullyConnected op that has been converted to a Conv2D. Change-Id: Ibf6710c0a1723c8b48c563ca204f274af5ca88ce Signed-off-by: Louis Verhaard <louis.verhaard@arm.com>
-rw-r--r--ethosu/vela/graph_optimiser.py1
-rw-r--r--ethosu/vela/insert_dma.py4
2 files changed, 4 insertions, 1 deletions
diff --git a/ethosu/vela/graph_optimiser.py b/ethosu/vela/graph_optimiser.py
index 5889905..85c2b60 100644
--- a/ethosu/vela/graph_optimiser.py
+++ b/ethosu/vela/graph_optimiser.py
@@ -338,6 +338,7 @@ def convert_batched_fc_to_conv(op, arch, nng):
"stride_h": 1,
"stride_w": 1,
"strides": (1, 1, 1, 1),
+ "is_converted_fc": True,
}
prev_op = ifm.ops[0]
diff --git a/ethosu/vela/insert_dma.py b/ethosu/vela/insert_dma.py
index fc1e798..f02039c 100644
--- a/ethosu/vela/insert_dma.py
+++ b/ethosu/vela/insert_dma.py
@@ -77,7 +77,9 @@ def insert_dma_cmd(op, arch, nng):
):
only_vector_product_consumers = True
for oper in tens.consumers():
- if oper is None or oper.type.npu_block_type != NpuBlockType.VectorProduct:
+ if oper is None or not (
+ oper.type.npu_block_type == NpuBlockType.VectorProduct or "is_converted_fc" in oper.attrs
+ ):
only_vector_product_consumers = False
break