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 function
block_scaled_umma_kind
def block_scaled_umma_kind[a_type: DType, b_type: DType, scales_dtype: DType]() -> UMMAKind
Selects the SM100 UMMA kind matching the operand and scale-factor types.
The single mapping from operand dtypes to UMMAKind; callers that also know
the scale-factor vector size should go through get_scaling_kind.
B's dtype has to be read alongside A's: W4A8 and plain MXFP8 share A's E4M3
and the E8M0 scales, and differ only in B. Returning kind::mxf8f6f4 for
the mixed pair only says the tensor cores accept it -- the caller still owes
the padded FP4 TMA copy that feeds B (see _is_packed_fp4), so a path
without one must reject the pair rather than call this.
Parameters:
- โa_type (
DType): A operand element type;uint8is nibble-packed E2M1. - โb_type (
DType): B operand element type;uint8is nibble-packed E2M1. - โscales_dtype (
DType): Scale-factor element type.
Returns:
UMMAKind: The UMMAKind matching the provided type combination.