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

DecodeOutProducer

struct DecodeOutProducer[dtype: DType, config: MLA_SM100_Decode_Config]

Producer side of the output writeback pipeline that stages output tiles in SMEM for TMA store.

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 (DecodeOutProducer[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_bytes

comptime out_stage_bytes = (Int((mul (config // Int(4)), config.BM)) * size_of[dtype]())

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

init

def init(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]

producer_mbar

def producer_mbar(self) -> MBarType

Returns:

MBarType

acquire

def acquire(self)

commit_step

def commit_step(mut self)