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)