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 struct
ScheduleCompiler
struct ScheduleCompiler
Generic pipeline schedule compiler.
Orchestrates schedule construction by calling PipelineSchedule trait methods in order. All kernel-specific logic lives in trait implementations. All intermediate state is List β sizes are discovered, not prescribed.
Usage: var sc = ScheduleCompiler() sc.compile(SingleBufferScheduleT) # Read phases via comptime for over sc.prologue, sc.kernel, sc.epilogue
Fieldsβ
- βconfig (
PipelineConfig): - βbody (
List[OpDesc]): - βedges (
List[DepEdge]): - βprologue (
List[ScheduleEntry]): - βkernel (
List[ScheduleEntry]): - βepilogue (
List[ScheduleEntry]): - βkernel_deps (
List[DepEdge]): - βwarp_stagger_index (
Int): - βlgkm_per_load_a (
Int): - βlgkm_per_load_b (
Int):
Implemented traitsβ
AnyType,
ImplicitlyDestructible,
Movable
Methodsβ
__init__β
__init__(out self)
compileβ
compile[S: PipelineSchedule](mut self, schedule: S)
Full pipeline compilation from a schedule definition.
The framework owns all phase derivation:
- Single-buffer (depth<2): default functions + transform_kernel hook
- Double-buffer (depth>=2): PipelineProgram β derive phases from blocks
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!