From e045e0c041fade81be5af7a5ed4ff894fe51392d Mon Sep 17 00:00:00 2001 From: Simon Bjurek <simbj106@student.liu.se> Date: Wed, 23 Apr 2025 14:45:40 +0200 Subject: [PATCH] Fix bugs in RecursiveScheduler --- b_asic/scheduler.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/b_asic/scheduler.py b/b_asic/scheduler.py index 78e14090..33e3a5d8 100644 --- a/b_asic/scheduler.py +++ b/b_asic/scheduler.py @@ -1082,6 +1082,9 @@ class RecursiveListScheduler(ListScheduler): self._schedule._start_times[op_id] -= slack self._schedule._schedule_time = self._schedule._schedule_time - slack + if self._schedule._schedule_time <= time_goal: + break + time_out_counter -= 1 def _schedule_recursive_ops(self, loops: list[list["GraphID"]]) -> None: @@ -1125,7 +1128,7 @@ class RecursiveListScheduler(ListScheduler): self._remaining_ops_set.remove(op.graph_id) for i in range(max(1, cast(int, op.execution_time))): - time_slot = self._current_time + i + time_slot = op_sched_time + i self._cached_execution_times_in_time[op_type][time_slot] += 1 prio_table = self._get_recursive_priority_table() -- GitLab