diff options
Diffstat (limited to 'ethosu/vela/high_level_command_stream_generator.py')
-rw-r--r-- | ethosu/vela/high_level_command_stream_generator.py | 15 |
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 |