Skip to main content

Mojo struct

DecodeKVConsumer

struct DecodeKVConsumer[dtype: DType, config: MLA_SM100_Decode_Config, num_producer: Int = 1]

Fields​

  • ​pipe (DecodeKVConsumer[dtype, config, num_producer].KVPipeType):
  • ​smem (UnsafePointer[Scalar[dtype], MutAnyOrigin, address_space=AddressSpace.SHARED]):

Implemented traits​

AnyType, Copyable, ImplicitlyCopyable, ImplicitlyDestructible, Movable, RegisterPassable, TrivialRegisterPassable

comptime members​

kv_stage_elems​

comptime kv_stage_elems = (config * config)

KVPipeType​

comptime KVPipeType = KVPipelineGeneric[config.num_kv_stages, 1, num_producer, 2]

Methods​

__init__​

__init__(pipe: KVPipelineGeneric[config.num_kv_stages, 1, num_producer, 2], smem: UnsafePointer[Scalar[dtype], MutAnyOrigin, address_space=AddressSpace.SHARED]) -> Self

stage_base_ptr​

stage_base_ptr[*, qk_stage: Int = 0](self) -> UnsafePointer[Scalar[dtype], MutAnyOrigin, address_space=AddressSpace.SHARED]

Returns:

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

stage_index​

stage_index[*, qk_stage: Int = 0](self) -> UInt32

Returns:

UInt32

wait​

wait[*, qk_stage: Int = 0](self)

release​

release[*, qk_stage: Int = 0](mut self, e: Int32)