Added RecursiveListScheduler and other small improvements/fixes
3 unresolved threads
- Added a RecursiveListScheduler that schedules recursive loops before all the other operations.
- Small fixes/improvements made across Schedule/Scheduler/SchedulingGUI.
- Now scheduling non-recursive algorithms to schedule_time=1 should be possible.
- Updated examples in some cases that were wrong.
Closes: #325 (closed)
Edited by Simon Bjurek
Merge request reports
Activity
added Scheduling label
assigned to @simbj106
added 1 commit
- 061a28d9 - recursive list scheduler is now working ok, improved code etc
249 249 op_start_time = self.schedule.start_time_of_operation(item.graph_id) 250 250 new_start_time = floor(pos) - floor(self._x_axis_indent) 251 251 move_time = new_start_time - op_start_time 252 op = self._schedule.sfg.find_by_id(item.graph_id) 252 op = self._schedule._sfg.find_by_id(item.graph_id) 975 987 source_port_start_time + source_port_latency_offset 976 988 > self._schedule_time 977 989 ): 978 lap += ( 979 source_port_start_time + source_port_latency_offset 980 ) // self._schedule_time 990 lap += 1 762 for signal, signal_slack in signal_slacks.items(): 763 new_slack = signal_slack 764 laps = 0 765 while new_slack < 0: 766 laps += 1 767 new_slack += self._schedule_time 768 self._laps[signal.graph_id] = laps 763 # update input laps 764 for input_port in op.inputs: 765 laps = 0 766 if self._schedule_time is not None: 767 current_lap = time // self._schedule_time 768 source_port = source_op = input_port.signals[0].source 769 source_op = source_port.operation 770 771 if not isinstance(source_op, Delay) and not isinstance(
Please register or sign in to reply