Skip to main content

Mojo struct

EpilogueStage

struct EpilogueStage[origin: MutOrigin, opc: OutputPipelineConfig]

Unified linear type handle for epilogue stage in output pipeline.

Works as both a linear type (direct use) and within context managers.

Lifecycle:

  1. Created via output_pipeline.acquire_epilogue_linear() - waits for MMA
  2. Use tmem(), tmem_offset() for reading MMA results
  3. Must call release() to advance (compiler-enforced)

Parameters

  • origin (MutOrigin): Origin of the pipeline reference.
  • opc (OutputPipelineConfig): Output pipeline configuration (stages, stride, cta_group).

Fields

  • pipeline_ptr (Pointer[OutputTilePipeline[opc], origin]):

Implemented traits

AnyType

comptime members

Stage

comptime Stage = OutputStage[opc]

TilePipelineType

comptime TilePipelineType = OutputTilePipeline[opc]

Methods

__init__

__init__(out self, pipeline_ptr: Pointer[OutputTilePipeline[opc], origin], stage: OutputStage[opc])

tmem

tmem(self) -> EpilogueStage[origin, opc].Stage.Tmem

Get the TMEM stage handle.

Returns:

EpilogueStage

tmem_offset

tmem_offset(self) -> Int

Get the TMEM offset for reading MMA results.

Returns:

Int

index

index(self) -> UInt32

Get the current stage index.

Returns:

UInt32

release

release(deinit self)

Free stage for MMA reuse and advance to next stage.

This is the only way to destroy this linear type.

Was this page helpful?