Skip to main content

Mojo struct

DecodeKVProducer

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

Fields​

  • ​pipe (DecodeKVProducer[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_bytes​

comptime kv_stage_bytes = (DecodeKVProducer[dtype, config, num_producer].kv_stage_elems * size_of[dtype]())

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

init​

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

producer_mbar​

producer_mbar[*, qk_stage: Int = 0](self) -> MBarType

Returns:

MBarType

acquire​

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

commit_step​

commit_step(mut self)