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 struct

PipelineBody

struct PipelineBody

Builder for declarative pipeline body specifications.

Use as a context manager: with PipelineBody() as b:. Accumulates logical OpDesc entries via role-typed methods and combinators. Call b.done() to finalize the builder and return the op list for annotate_ops() and subsequent scheduling.

Implemented traits​

AnyType, ImplicitlyDeletable, Movable

Methods​

__init__​

def __init__(out self)

__enter__​

def __enter__(var self) -> Self

Enable with PipelineBody() as b: syntax for scoped building.

load​

def load(mut self, tag: Int, *, ch: Int = -1, stage: Int = 0, sub: Int = 0, k: KOffsetKind = KOffsetKind.NONE)

Append a global load (DRAM β†’ LDS or DRAM β†’ registers).

store​

def store(mut self, tag: Int, *, ch: Int = -1, stage: Int = 0, sub: Int = 0)

Append a shared memory store (registers β†’ LDS).

frag​

def frag(mut self, tag: Int, *, ch: Int = -1, stage: Int = 0, sub: Int = 0)

Append a fragment load (LDS β†’ registers).

compute​

def compute(mut self, tag: Int, *, stage: Int = 0, sub: Int = 0)

Append a compute/MMA op.

barrier​

def barrier(mut self)

Append a barrier.

op​

def op(mut self, tag: Int, *, ch: Int = -1, stage: Int = 0, sub: Int = 0, k: KOffsetKind = KOffsetKind.NONE)

Append a generic logical op (escape hatch for non-standard ops).

fan​

def fan[N: Int](mut self, tag: Int, *, ch: Int = -1, stage: Int = 0, k: KOffsetKind = KOffsetKind.NONE)

Append N ops with subtile=0..N-1 (fan-out pattern).

grid​

def grid[M: Int, N: Int](mut self, tag: Int, *, ch: Int = -1)

Append MΓ—N ops with stage=i, subtile=j (2D grid pattern).

First dimension maps to stage (0..M-1), second to subtile (0..N-1). For flat patterns where only subtile varies, use fan[M*N] instead.

extend​

def extend(mut self, mut other: Self)

Absorb all ops from another builder (for hierarchical composition).

done​

def done(self) -> List[OpDesc]

Return the logical op list.

Returns:

List[OpDesc]