Skip to main content

Mojo struct

DecodeOutProducer

@register_passable(trivial) struct DecodeOutProducer[dtype: DType, config: MLA_SM100_Decode_Config]

Fields

  • pipe (DecodeOutProducer[dtype, config].OutPipeType):
  • smem (UnsafePointer[Scalar[dtype], MutAnyOrigin, address_space=AddressSpace.SHARED]):

Implemented traits

AnyType, Copyable, ImplicitlyCopyable, ImplicitlyDestructible, Movable

comptime members

__copyinit__is_trivial

comptime __copyinit__is_trivial = True

__del__is_trivial

comptime __del__is_trivial = True

__moveinit__is_trivial

comptime __moveinit__is_trivial = True

num_out_stages

comptime num_out_stages = 1 if config.decoding_warp_split_k else (config // config)

out_stage_bytes

comptime out_stage_bytes = (DecodeOutProducer[dtype, config].out_stage_elems * size_of[dtype]())

out_stage_elems

comptime out_stage_elems = (config * config)

OutPipeType

comptime OutPipeType = OutPipeline[DecodeOutProducer[dtype, config].num_out_stages, WARPGROUP_SIZE, 1]

Methods

__init__

__init__(pipe: OutPipeline[DecodeOutProducer[dtype, config].num_out_stages, WARPGROUP_SIZE, 1], smem: UnsafePointer[Scalar[dtype], MutAnyOrigin, address_space=AddressSpace.SHARED]) -> Self

init

init(self)

stage_base_ptr

stage_base_ptr(self) -> UnsafePointer[Scalar[dtype], MutAnyOrigin, address_space=AddressSpace.SHARED]

Returns:

UnsafePointer

producer_mbar

producer_mbar(self) -> MBarType

Returns:

MBarType

acquire

acquire(self)

commit_step

commit_step(mut self)

Was this page helpful?