For the complete documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /max/get-started.md).
Mojo struct
DecodeOutConsumer
struct DecodeOutConsumer[dtype: DType, config: MLA_SM100_Decode_Config]
Fieldsβ
- βpipe (
DecodeOutConsumer[dtype, config].OutPipeType): - βsmem (
UnsafePointer[Scalar[dtype], MutAnyOrigin, address_space=AddressSpace.SHARED]):
Implemented traitsβ
AnyType,
Copyable,
ImplicitlyCopyable,
ImplicitlyDeletable,
Movable,
RegisterPassable,
TrivialRegisterPassable
comptime membersβ
block_per_warpβ
comptime block_per_warp = (DecodeOutConsumer[dtype, config].col_per_warp // (config // 4))
blocks_per_stageβ
comptime blocks_per_stage = 2 if (DecodeOutConsumer[dtype, config].block_per_warp != 0) else 1
col_per_warpβ
comptime col_per_warp = (config // 2)
num_out_blocksβ
comptime num_out_blocks = (config // (config // 4))
num_out_stagesβ
comptime num_out_stages = (DecodeOutConsumer[dtype, config].num_out_blocks // DecodeOutConsumer[dtype, config].blocks_per_stage)
out_stage_elemsβ
comptime out_stage_elems = (config * (config // 4))
OutPipeTypeβ
comptime OutPipeType = OutPipeline[DecodeOutConsumer[dtype, config].num_out_stages, WARPGROUP_SIZE, 1]
Methodsβ
__init__β
def __init__(pipe: OutPipeline[Self.num_out_stages, WARPGROUP_SIZE, 1], smem: UnsafePointer[Scalar[dtype], MutAnyOrigin, address_space=AddressSpace.SHARED]) -> Self
stage_base_ptrβ
def stage_base_ptr(self, half_idx: Int) -> UnsafePointer[Scalar[dtype], MutAnyOrigin, address_space=AddressSpace.SHARED]
Returns:
UnsafePointer[Scalar[dtype], MutAnyOrigin, address_space=AddressSpace.SHARED]
waitβ
def wait(self)
releaseβ
def release(mut self, e: Int32)
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!