Skip to main content

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, ImplicitlyDestructible, Movable

Methods​

__init__​

__init__(out self)

__enter__​

__enter__(var self) -> Self

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

load​

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​

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

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

frag​

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

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

compute​

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

Append a compute/MMA op.

barrier​

barrier(mut self)

Append a barrier.

op​

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​

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​

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​

extend(mut self, mut other: Self)

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

done​

done(self) -> List[OpDesc]

Return the logical op list.

Returns:

List[OpDesc]