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 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; uint8 is nibble-packed E2M1.
  • โ€‹b_type (DType): B operand element type; uint8 is nibble-packed E2M1.
  • โ€‹scales_dtype (DType): Scale-factor element type.

Returns:

UMMAKind: The UMMAKind matching the provided type combination.