Skip to main content

Mojo struct

DecodeSM100PVSS

@register_passable(trivial) struct DecodeSM100PVSS[operand_type: DType, accum_type: DType, *, config: MLA_SM100_Decode_Config]

Implemented traits

AnyType, Copyable, ImplicitlyCopyable, ImplicitlyDestructible, Movable, TrivialRegisterType

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

ALayout

comptime ALayout = tile_layout_k_major[operand_type, DecodeSM100PVSS[operand_type, accum_type, config=config].BM, DecodeSM100PVSS[operand_type, accum_type, config=config].BK, config.swizzle_mode]()

BK

comptime BK = config.BK1

BLayout

comptime BLayout = tile_layout_mn_major[operand_type, DecodeSM100PVSS[operand_type, accum_type, config=config].BN, DecodeSM100PVSS[operand_type, accum_type, config=config].BK, config.kv_swizzle_mode]()

BM

comptime BM = config.BM

BN

comptime BN = 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 = (DecodeSM100PVSS[operand_type, accum_type, config=config].BK // 16)

operand_size

comptime operand_size = size_of[operand_type]()

UMMAPVSS

comptime UMMAPVSS = UMMAInsDescriptor.create[UMMAKind.KIND_F16, accum_type, operand_type, operand_type, Index[dtype=DType.uint32](DecodeSM100PVSS[operand_type, accum_type, config=config].MMA_M, DecodeSM100PVSS[operand_type, accum_type, config=config].MMA_N), transpose_b=False]()

Methods

descriptor_v_block

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

Returns:

MMASmemDescriptorPair

descriptor_p_block

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

Returns:

MMASmemDescriptorPair

mma

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

Was this page helpful?