Skip to content

Refactor XLS schedulers to use a common interface and allow for selecting scheduler for minimization workloads.#4206

Draft
copybara-service[bot] wants to merge 1 commit intomainfrom
test_910927564
Draft

Refactor XLS schedulers to use a common interface and allow for selecting scheduler for minimization workloads.#4206
copybara-service[bot] wants to merge 1 commit intomainfrom
test_910927564

Conversation

@copybara-service
Copy link
Copy Markdown

Refactor XLS schedulers to use a common interface and allow for selecting scheduler for minimization workloads.

This change introduces a Scheduler abstract base class, and refactors ASAP, MinCut, and SDC scheduling algorithms to implement this interface. A new RandomScheduler is also added. The run_pipeline_schedule utility is updated to use this new interface. Additionally, a new option and flag --find_bounds_strategy are added, allowing a different scheduler (defaulting to ASAP) to be used for finding minimum clock period and worst-case throughput bounds, which can be faster than using the main scheduling strategy. Error handling in run_pipeline_schedule is also improved.

The 'random' scheduler is also updated to make use of the ASAP scheduler bounds to do a much better job at consistently choosing allowable schedules.

…ting scheduler for minimization workloads.

This change introduces a `Scheduler` abstract base class, and refactors `ASAP`, `MinCut`, and `SDC` scheduling algorithms to implement this interface. A new `RandomScheduler` is also added. The `run_pipeline_schedule` utility is updated to use this new interface. Additionally, a new option and flag `--find_bounds_strategy` are added, allowing a different scheduler (defaulting to ASAP) to be used for finding minimum clock period and worst-case throughput bounds, which can be faster than using the main scheduling strategy. Error handling in `run_pipeline_schedule` is also improved.

The 'random' scheduler is also updated to make use of the ASAP scheduler bounds to do a much better job at consistently choosing allowable schedules.

PiperOrigin-RevId: 910927564
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant