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 = Int(-1), stage: Int = Int(0), sub: Int = Int(0), k: KOffsetKind = KOffsetKind.NONE)
Append a global load (DRAM β LDS or DRAM β registers).
Args:
- βtag (
Int): Kernel-specific op tag (0-127) used by_emitdispatch. - βch (
Int): Data path identifier for edge derivation. Ops on the same channel share a buffer (defaults to -1). - βstage (
Int): Buffer stage index (0 or 1 for double-buffering) (defaults to 0). - βsub (
Int): Subtile index within the stage (defaults to 0). - βk (
KOffsetKind): How to compute the K dimension offset for loads (defaults toKOffsetKind.NONE).
storeβ
def store(mut self, tag: Int, *, ch: Int = Int(-1), stage: Int = Int(0), sub: Int = Int(0))
Append a shared memory store (registers β LDS).
Args:
- βtag (
Int): Kernel-specific op tag (0-127) used by_emitdispatch. - βch (
Int): Data path identifier for edge derivation. Ops on the same channel share a buffer (defaults to -1). - βstage (
Int): Buffer stage index (0 or 1 for double-buffering) (defaults to 0). - βsub (
Int): Subtile index within the stage (defaults to 0).
fragβ
def frag(mut self, tag: Int, *, ch: Int = Int(-1), stage: Int = Int(0), sub: Int = Int(0))
Append a fragment load (LDS β registers).
Args:
- βtag (
Int): Kernel-specific op tag (0-127) used by_emitdispatch. - βch (
Int): Data path identifier for edge derivation. Ops on the same channel share a buffer (defaults to -1). - βstage (
Int): Buffer stage index (0 or 1 for double-buffering) (defaults to 0). - βsub (
Int): Subtile index within the stage (defaults to 0).
computeβ
def compute(mut self, tag: Int, *, stage: Int = Int(0), sub: Int = Int(0))
Append a compute/MMA op.
Args:
barrierβ
def barrier(mut self)
Append a barrier.
opβ
def op(mut self, tag: Int, *, ch: Int = Int(-1), stage: Int = Int(0), sub: Int = Int(0), k: KOffsetKind = KOffsetKind.NONE)
Append a generic logical op (escape hatch for non-standard ops).
Args:
- βtag (
Int): Kernel-specific op tag (0-127) used by_emitdispatch. - βch (
Int): Data path identifier for edge derivation. Ops on the same channel share a buffer (defaults to -1). - βstage (
Int): Buffer stage index (0 or 1 for double-buffering) (defaults to 0). - βsub (
Int): Subtile index within the stage (defaults to 0). - βk (
KOffsetKind): How to compute the K dimension offset for loads (defaults toKOffsetKind.NONE).
fanβ
def fan[N: Int](mut self, tag: Int, *, ch: Int = Int(-1), stage: Int = Int(0), k: KOffsetKind = KOffsetKind.NONE)
Append N ops with subtile=0..N-1 (fan-out pattern).
Parameters:
- βN (
Int): Number of ops to append (subtile ranges from 0 to N-1).
Args:
- βtag (
Int): Kernel-specific op tag (0-127) used by_emitdispatch. - βch (
Int): Data path identifier for edge derivation. Ops on the same channel share a buffer (defaults to -1). - βstage (
Int): Buffer stage index (0 or 1 for double-buffering) (defaults to 0). - βk (
KOffsetKind): How to compute the K dimension offset for loads (defaults toKOffsetKind.NONE).
gridβ
def grid[M: Int, N: Int](mut self, tag: Int, *, ch: Int = 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.
Parameters:
- βM (
Int): Number of stage values (stage ranges from 0 to M-1). - βN (
Int): Number of subtile values (subtile ranges from 0 to N-1).
Args:
extendβ
def extend(mut self, mut other: Self)
Absorb all ops from another builder (for hierarchical composition).
Args:
- βother (
Self): Builder whose ops are appended to this one.
doneβ
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!