aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLouis Verhaard <louis.verhaard@arm.com>2022-03-16 09:56:45 +0100
committerLouis Verhaard <louis.verhaard@arm.com>2022-03-28 09:31:39 +0200
commit37ba98c2afeffde3362165e06c414c8bb9e3ddce (patch)
tree941a927bc54fda491290c0ae2eb1a04c20bab2c7
parent3c5cfe9e110b402f60fa7e1cdd5aa5e1c31bd511 (diff)
downloadethos-u-vela-37ba98c2afeffde3362165e06c414c8bb9e3ddce.tar.gz
MLBEDSW-6098: Order check in cascade builder
Added checks in the cascade builder to ensure that scheduled operations are in the correct order. Change-Id: Ic1765a6a1cb8335ff222bfe3b2d2e642980967d7 Signed-off-by: Louis Verhaard <louis.verhaard@arm.com>
-rw-r--r--ethosu/vela/cascade_builder.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/ethosu/vela/cascade_builder.py b/ethosu/vela/cascade_builder.py
index 0b50eaa..4c3f75b 100644
--- a/ethosu/vela/cascade_builder.py
+++ b/ethosu/vela/cascade_builder.py
@@ -180,6 +180,11 @@ class CascadeBuilder:
# Current op has already been processed or cannot be cascaded
break
+ if producer.index + 1 != current_op.index:
+ # Cascading is possible, but requires reordering of operations in the schedule,
+ # this is currently not supported
+ break
+
# Get the size of the FeatureMap buffers between current and neighbouring Ops
op_full_ifm = current_op.ifm_size_in_bytes()
op_full_ofm = current_op.ofm_size_in_bytes()
@@ -235,6 +240,7 @@ class CascadeBuilder:
buffers_in_cascade = {}
prev_op = None
for cascaded_op in ops_in_best_cascade:
+ assert cascade_start <= cascaded_op.index <= cascade_end
cost[cascaded_op] = ref_cost[cascaded_op]
cost[cascaded_op].cascade = cascade_end
if prev_op: