Minor schedule things
-
Move all outputs as early as possible:
min(schedule.backward_slack(gid) for gid in schedule._sfg.get_used_graph_ids() if o.startswith("out"))
will give the time that all outputs can be moved back. (Can be a better way to get these graph-ids. - When erroring about too short scheduling time, give the (theoretical) minimum time in the error message.
- Much whitespace for "high" figures (I can fix that)
- I still think some sort of log would be nice. https://docs.python.org/3/library/logging.html (one can use debug level to log every operation scheduled etc).
- It seems like outputs can not always be positioned during cyclic scheduling:
ValueError: Cannot schedule outputs according to the provided output_delta_times. Failed output: out0, at time: 200, try relaxing the constraints.
That seems unlikely and a bug/area of improvement. Edit: my point here is that it should always be possible to add the outputs at the end when doing cyclic schedling. Also, at least one output_delta_time should be zero to have a reference.