From cc34d5d33938b6cbd9f8b11883f12e8c3097b613 Mon Sep 17 00:00:00 2001 From: Louis Verhaard Date: Thu, 19 Aug 2021 15:15:36 +0200 Subject: MLBEDSW-4976: index errors in scheduler - Fixed index error in memory_snapshot - When removing a cascade, also references are removed Change-Id: I2b35dc52671d8ce115eb32bfdd93584391d1fc6d Signed-off-by: Louis Verhaard --- ethosu/vela/live_range.py | 8 ++------ ethosu/vela/scheduler.py | 10 ++++++---- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/ethosu/vela/live_range.py b/ethosu/vela/live_range.py index 7ff1b28d..0b94b197 100644 --- a/ethosu/vela/live_range.py +++ b/ethosu/vela/live_range.py @@ -138,15 +138,11 @@ class LiveRangeGraph: return live_range def update_endtime(self): - self.end_time = 0 - for rng in self.ranges.values(): - self.end_time = max(self.end_time, rng.end_time) + self.end_time = self.current_time return self.end_time + 1 def get_temporal_memory_usage(self, target_mem_area): - if not self.end_time: - self.update_endtime() - usage = np.zeros(self.end_time, dtype=np.int32) + usage = np.zeros(self.update_endtime(), dtype=np.int32) for rng in self.ranges.values(): if rng.mem_area == target_mem_area: # End time is inclusive diff --git a/ethosu/vela/scheduler.py b/ethosu/vela/scheduler.py index a375a939..de10bad7 100644 --- a/ethosu/vela/scheduler.py +++ b/ethosu/vela/scheduler.py @@ -861,10 +861,12 @@ class Scheduler: return max_sched # Extract the cascades - cascades = [cascade for cascade in schedule.cascades.values()] - for cascade_info in cascades: - # Remove existing cascade from schedule - del schedule.cascades[cascade_info.end] + cascades = schedule.cascades + # Remove existing cascade from schedule + schedule.cascades = {} + for cost in schedule.cost_map.values(): + cost.cascade = 0 + for cascade_info in cascades.values(): # Optimize the sub-schedule in this cascade opt_sub_schedule = self.optimize_sub_schedule(cascade_info, schedule, max_template, sram_limit) # Update the sub-schedule Op and cascade costs to the full schedule -- cgit v1.2.1