aboutsummaryrefslogtreecommitdiff
path: root/ethosu/vela/high_level_command_stream_generator.py
diff options
context:
space:
mode:
Diffstat (limited to 'ethosu/vela/high_level_command_stream_generator.py')
-rw-r--r--ethosu/vela/high_level_command_stream_generator.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/ethosu/vela/high_level_command_stream_generator.py b/ethosu/vela/high_level_command_stream_generator.py
index 95068081..a52bdc37 100644
--- a/ethosu/vela/high_level_command_stream_generator.py
+++ b/ethosu/vela/high_level_command_stream_generator.py
@@ -185,13 +185,14 @@ def generate_high_level_commands_for_sched_op(sched_op, schedule):
if producer_op:
assert op_info.cascade != 0
assert op_info.cascade == schedule.cost_map[producer_op].cascade
- for prev_cmd in prev_cmd_gen:
- yield prev_cmd
- if prev_cmd.is_npu_pass_command() and prev_cmd.ps == producer_op.parent_ps:
- ifm_present.end_coord = prev_cmd.ofm_box.end_coord
- if ifm_required.is_subbox_of(ifm_present):
- # There is enough IFM data - exit loop
- break
+ if not ifm_required.is_subbox_of(ifm_present):
+ for prev_cmd in prev_cmd_gen:
+ yield prev_cmd
+ if prev_cmd.is_npu_pass_command() and prev_cmd.ps == producer_op.parent_ps:
+ ifm_present.end_coord = prev_cmd.ofm_box.end_coord
+ if ifm_required.is_subbox_of(ifm_present):
+ # There is enough IFM data - exit loop
+ break
# Information about the current stripe's location in the cascade
is_first_h_stripe = ofm_box_start.height == ofm_start.height