IMPORTANT: To view this page as Markdown, append `.md` to the URL (e.g. /max/get-started.md). For the complete documentation index, see llms.txt.
Skip to main content
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_double_buffer_program

build_double_buffer_program(body: LoopBody, order: List[Int], config: PipelineConfig, sched: ScheduleConfig = ScheduleConfig(scheduling=SchedulingStrategy.IDENTITY, sched_barrier_mask=85, auto_waits=True, drain_lgkm_mask=0, auto_drain=False, lds_contention_penalty=0, wait_lgkm_first=8, wait_vm_last=6, lgkm_per_load_a=0, lgkm_per_load_b=0, lgkm_after_last=False, minimal_barriers=False, omit_mma_set_prio=False, max_vgpr=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)) -> PipelineProgram

Build PipelineProgram from LDG ops in the given execution order.

Two-phase construction:

  1. Group ops into MMA-centered blocks with structural flags.
  2. Redistribute global loads for uniform distribution.

Returns:

PipelineProgram