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
strategies
Strategy structs that group related ScheduleConfig flags.
ScheduleConfig's flat field list grew to ~20 flags as new emission
shapes landed. Many of those flags are tightly correlated (e.g. you
never set omit_mma_set_prio=True without also setting
minimal_barriers=True); grouping them into named strategy structs
documents the relationships and reduces the constructor's argument
count at the call site.
These structs are an opt-in alternative to the flat-field
ScheduleConfig constructor; existing callers passing flat kwargs
continue to work unchanged. Use via:
var sc = ScheduleConfig.from_strategies(
barrier=BarrierStrategy.minimal_no_set_prio(
sched_barrier_mask=0xFF,
wrap_waits=True,
),
wait=WaitStrategy.auto_with_inter_block_drain(),
load=LoadStrategy.default(),
scheduling=SchedulingStrategy.IDENTITY,
)Strategy methods named default() return the framework's default
(ping-pong) behaviour β passing only scheduling to
from_strategies reproduces ScheduleConfig() exactly.
Structsβ
- β
BarrierStrategy: How the schedule emits barriers and barrier-adjacent fences. - β
LoadStrategy: In-block ordering of fragment loads vs global prefetches. - β
WaitStrategy: How the schedule derives and places vmcnt/lgkmcnt waits.
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!