Skip to content
Snippets Groups Projects

Scheduler

Merged Aaron Councilman requested to merge scheduler-pm into main
All threads resolved!

The Juno scheduler along with the re-written pass manager to interpret schedules.

Modifies Juno build to use the scheduler, with either a schedule provided by the user or the default schedule found in juno_scheduler/src/default.rs. Deletes the old Hercules driver and the old pass manager, the behavior of running specific passes can be achieved by defining a custom schedule and adding whatever passes you want to it now. An example schedule can be found in juno_samples/schedule_test/src/sched.sch which also demonstrates that we can now specify manual outlining.

Some notes for adding new passes going forward:

  1. Add the pass to the Pass enum in juno_scheduler/src/ir.rs
  2. Add a parser for the pass name to the impl FromStr for Appliable in juno_scheduler/src/compile.rs
  3. Add the execution of the pass to run_pass in juno_scheduler/src/pm.rs
  4. If the pass should go in the default pass order, add it to juno_scheduler/src/default.rs

Some additional tasks to improve functionality of the scheduler are described in #17 but I think this has enough functionality to be ready to merge now (especially as other MRs are waiting for it).

Resolves #5 (closed).

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • rarbore2 added 1 commit

    added 1 commit

    Compare with previous version

  • rarbore2 approved this merge request

    approved this merge request

  • added 1 commit

    • 310ce0de - Optimistically propagate labels

    Compare with previous version

  • Aaron Councilman resolved all threads

    resolved all threads

  • added 7 commits

    Compare with previous version

  • mentioned in commit f7b53408

  • Please register or sign in to reply
    Loading