From 37ba98c2afeffde3362165e06c414c8bb9e3ddce Mon Sep 17 00:00:00 2001 From: Louis Verhaard Date: Wed, 16 Mar 2022 09:56:45 +0100 Subject: 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 --- ethosu/vela/cascade_builder.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ethosu/vela/cascade_builder.py b/ethosu/vela/cascade_builder.py index 0b50eaa8..4c3f75b7 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: -- cgit v1.2.1