IMPORTANT: To view this page as Markdown, append `.md` to the URL (e.g. /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. /get-started.md).

Mojo struct

DecodeOutConsumer

struct DecodeOutConsumer[dtype: DType, config: MLA_SM100_Decode_Config]

Consumer side of the output writeback pipeline that waits for and releases output stages.

Parameters

  • dtype (DType): Element type of the output tiles stored in SMEM.
  • config (MLA_SM100_Decode_Config): Decode config supplying output tile dimensions and stage count.

Fields

  • pipe (DecodeOutConsumer[dtype, config].OutPipeType):
  • smem (Pointer[Scalar[dtype], MutAnyOrigin, address_space=AddressSpace.SHARED]):

Implemented traits

AnyType, Copyable, Deinitable, ImplicitlyCopyable, Movable, RegisterPassable, TrivialRegisterPassable

comptime members

block_per_warp

comptime block_per_warp = ((config // Int(2)) // (config // Int(4)))

blocks_per_stage

comptime blocks_per_stage = Int(2) if (((config // Int(2)) // (config // Int(4))) != Int(0)) else Int(1)

col_per_warp

comptime col_per_warp = (config // Int(2))

num_out_blocks

comptime num_out_blocks = (config // (config // Int(4)))

num_out_stages

comptime num_out_stages = ((config // (config // Int(4))) // Int(2) if (xor (eq ((config // Int(2)) // (config // Int(4))), 0), True) else Int(1))

out_stage_elems

comptime out_stage_elems = (config * (config // Int(4)))

OutPipeType

comptime OutPipeType = OutPipeline[((config // (config // Int(4))) // Int(2) if (xor (eq ((config // Int(2)) // (config // Int(4))), 0), True) else Int(1)), _resolve_warpgroup_size(), Int(1)]

Methods

__init__

def __init__(pipe: OutPipeline[((config // (config // Int(4))) // Int(2) if (xor (eq ((config // Int(2)) // (config // Int(4))), 0), True) else Int(1)), _resolve_warpgroup_size(), Int(1)], smem: Pointer[Scalar[dtype], MutAnyOrigin, address_space=AddressSpace.SHARED]) -> Self

stage_base_ptr

def stage_base_ptr(self, half_idx: Int) -> Pointer[Scalar[dtype], MutAnyOrigin, address_space=AddressSpace.SHARED]

Returns:

Pointer[Scalar[dtype], MutAnyOrigin, address_space=AddressSpace.SHARED]

wait

def wait(self)

release

def release(mut self, e: Int32)