Mojo struct
MLAKVLayouts
struct MLAKVLayouts[k_nope_dtype: DType, k_rope_dtype: DType, kv_scale_dtype: DType, config: MLAConfig[config.qkv_dtype, rope_gmem_dtype=config.rope_gmem_dtype, rope_mma_dtype=config.rope_mma_dtype, scale_dtype=config.scale_dtype]]
Comptime layout and size metadata for MLA K/V tiles.
Implemented traitsβ
AnyType,
ImplicitlyDestructible
comptime membersβ
k_bytesβ
comptime k_bytes = (MLAKVLayouts[k_nope_dtype, k_rope_dtype, kv_scale_dtype, config].k_nope_bytes + MLAKVLayouts[k_nope_dtype, k_rope_dtype, kv_scale_dtype, config].k_rope_bytes)
k_elementsβ
comptime k_elements = (MLAKVLayouts[k_nope_dtype, k_rope_dtype, kv_scale_dtype, config].k_nope_tma_layout + MLAKVLayouts[k_nope_dtype, k_rope_dtype, kv_scale_dtype, config].k_rope_tma_layout)
k_nope_bytesβ
comptime k_nope_bytes = (MLAKVLayouts[k_nope_dtype, k_rope_dtype, kv_scale_dtype, config].k_nope_tma_layout * size_of[k_nope_dtype]())
k_nope_tma_layoutβ
comptime k_nope_tma_layout = Layout[*?, *?].static_product
k_rope_bytesβ
comptime k_rope_bytes = (MLAKVLayouts[k_nope_dtype, k_rope_dtype, kv_scale_dtype, config].k_rope_tma_layout * size_of[k_rope_dtype]())
k_rope_tma_layoutβ
comptime k_rope_tma_layout = Layout[*?, *?].static_product
k_tma_layoutβ
comptime k_tma_layout = Layout[*?, *?].static_product
KPairTypeβ
comptime KPairType = TMADestination[k_nope_dtype, MLAKVLayouts[k_nope_dtype, k_rope_dtype, kv_scale_dtype, config].k_tma_layout]
SMemTypeβ
comptime SMemType = UnsafePointer[Scalar[k_nope_dtype], MutAnyOrigin, address_space=AddressSpace.SHARED]
v_bytesβ
comptime v_bytes = (MLAKVLayouts[k_nope_dtype, k_rope_dtype, kv_scale_dtype, config].v_elements * size_of[k_nope_dtype]())
v_elementsβ
comptime v_elements = MLAKVLayouts[k_nope_dtype, k_rope_dtype, kv_scale_dtype, config].v_tma_layout
v_tma_layoutβ
comptime v_tma_layout = Layout[*?, *?].static_product
VPairTypeβ
comptime VPairType = TMADestination[k_nope_dtype, MLAKVLayouts[k_nope_dtype, k_rope_dtype, kv_scale_dtype, config].v_tma_layout]
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!