For the complete documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /max/get-started.md).
Mojo module
schedulers
Scheduling algorithms: greedy and within-iteration optimal schedulers.
These are free functions that consume a LoopBody and return a permutation. The graph (LoopBody) never schedules itself β scheduling is an external concern. This follows the LLVM pattern where ScheduleDAG is pure data and MachineSchedStrategy is a separate pluggable component.
Note: the "optimal" scheduler minimizes within-iteration makespan (single iteration time span), not the initiation interval (II) used in modulo scheduling. Inter-iteration overlap is handled by the prologue/epilogue structure in program_builder, not by the scheduler. See DESIGN.md for scope and limitations.
Structsβ
- β
ScheduleMetrics: Combined evaluation metrics for a schedule ordering.
Functionsβ
- β
greedy_schedule: Constrained list scheduler for MMA-centered block structure. - β
optimal_schedule: Find the minimum-makespan execution ordering via backtracking search. - β
optimal_schedule_with_halves: Optimal scheduler with half-isolation constraint. - β
simple_greedy_schedule: Generic dependency-respecting greedy scheduler.
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!