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 function
build_schedule
def build_schedule[is_fp8: Bool, lgkm_a: Int, lgkm_b: Int](config: ScheduleConfig = ScheduleConfig(scheduling=SchedulingStrategy.CSP, sched_barrier_mask=Int(85), auto_waits=True, drain_lgkm_mask=Int(0), auto_drain=False, lds_contention_penalty=Int(0), wait_lgkm_first=Int(8), wait_vm_last=Int(6), lgkm_per_load_a=Int(0), lgkm_per_load_b=Int(0), lgkm_after_last=False, minimal_barriers=False, omit_mma_set_prio=False, max_vgpr=Int(999999), global_before_frag=False, barrier_before_pre_ops=False, inter_block_lgkm_drain=False, partial_prologue_drain=False, wrap_waits_with_sched_barrier=False), target: TargetProfile = mi355x_target(Int(4), Int(4), Int(1))) -> ScheduleCompiler
Compile the declarative constraint-based schedule.
The caller provides:
- ScheduleConfig: tuning knobs (scheduling strategy, auto_waits)
- TargetProfile: unified hardware target (cost model + pipeline config)
The framework automatically derives the execution ordering and wait counts from op constraints. This is the constraint-based alternative to build_interleaved_schedule().
Returns:
ScheduleCompiler
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!