IMPORTANT: To view this page as Markdown, append `.md` to the URL (e.g. /get-started.md). For the complete documentation index, see llms.txt.
Skip to main content
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

DecodeSM100PVSS

struct DecodeSM100PVSS[operand_type: DType, accum_type: DType, *, config: MLA_SM100_Decode_Config]

Tensor accumulator for the PV MMA with both P and V operands in SMEM.

Parameters

  • operand_type (DType): Element type of the P and V operands in SMEM.
  • accum_type (DType): Accumulator dtype used for the PV MMA result in TMEM.
  • config (MLA_SM100_Decode_Config): Decode config supplying MMA tile dimensions and swizzle modes.

Implemented traits

AnyType, Copyable, Deinitable, ImplicitlyCopyable, Movable, RegisterPassable, TrivialRegisterPassable

comptime members

BK

comptime BK = config.BK_PV

BM

comptime BM = config.BM

BN_PV

comptime BN_PV = DecodeSM100PVSS[operand_type, accum_type, config=config].MMA_N

MMA_K

comptime MMA_K = MLA_SM100_Decode_Config.MMA_K

MMA_M

comptime MMA_M = config.MMA_M

MMA_N

comptime MMA_N = config.MMA_PV_N

num_k_mmas

comptime num_k_mmas = (config // Int(16))

operand_size

comptime operand_size = size_of[operand_type]()

UMMAPVSS

comptime UMMAPVSS = UMMAInsDescriptor.create[accum_type, operand_type, operand_type, Index[Int, Int, dtype=DType.uint32](config, config), transpose_b=False]()

Methods

descriptor_v_block

static def descriptor_v_block(kv_smem: Pointer[Scalar[operand_type], MutAnyOrigin, address_space=AddressSpace.SHARED]) -> MMASmemDescriptorPair

Returns:

MMASmemDescriptorPair

descriptor_p_block

static def descriptor_p_block(p_smem: Pointer[Scalar[operand_type], MutAnyOrigin, address_space=AddressSpace.SHARED]) -> MMASmemDescriptorPair

Returns:

MMASmemDescriptorPair

mma

static def mma[*, stage_idx: Int = Int(0)](a: MMASmemDescriptorPair, b: MMASmemDescriptorPair, c: UInt32, *, c_scale: UInt32, elect: Int32)