Mojo module
fp4_utils
comptime valuesβ
E2M1_TO_FLOAT32β
comptime E2M1_TO_FLOAT32 = SIMD(SIMD(0), SIMD(0.5), SIMD(1), SIMD(1.5), SIMD(2), SIMD(3), SIMD(4), SIMD(6), SIMD(-0.0), SIMD(-0.5), SIMD(-1), SIMD(-1.5), SIMD(-2), SIMD(-3), SIMD(-4), SIMD(-6), __list_literal__=NoneType(None))
FP4_E2M1_MANTISSA_WIDTHβ
comptime FP4_E2M1_MANTISSA_WIDTH = 1
FP4_E2M1_MAX_EXPONENTβ
comptime FP4_E2M1_MAX_EXPONENT = 2
MXFP4_SF_DTYPEβ
comptime MXFP4_SF_DTYPE = DType.float8_e8m0fnu
MXFP4_SF_VECTOR_SIZEβ
comptime MXFP4_SF_VECTOR_SIZE = 32
MXFP8_SF_DTYPEβ
comptime MXFP8_SF_DTYPE = DType.float8_e8m0fnu
MXFP8_SF_VECTOR_SIZEβ
comptime MXFP8_SF_VECTOR_SIZE = 32
NVFP4_SF_DTYPEβ
comptime NVFP4_SF_DTYPE = DType.float8_e4m3fn
NVFP4_SF_VECTOR_SIZEβ
comptime NVFP4_SF_VECTOR_SIZE = 16
SF_ATOM_Kβ
comptime SF_ATOM_K = 4
SF_ATOM_Mβ
comptime SF_ATOM_M = Tuple(32, 4)
SF_K_GROUP_SIZEβ
comptime SF_K_GROUP_SIZE[SF_VECTOR_SIZE: Int] = (4 * SF_VECTOR_SIZE)
Parametersβ
- βSF_VECTOR_SIZE (
Int):
SF_MN_GROUP_SIZEβ
comptime SF_MN_GROUP_SIZE = ((load_from_mem SF_ATOM_M.__getitem_param__[0]()) * (load_from_mem SF_ATOM_M.__getitem_param__[1]()))
Functionsβ
- β
cast_f4e2m1x2_to_fp16x2: - β
cast_float_to_fp4e2m1_amd: - β
cast_fp32_to_fp4e2m1: - β
cast_fp_to_fp4e2m1: - β
cast_uint_to_fp4e2m1: - β
compute_mxfp4_even_scale: Computes the OCP MXFP4 E8M0 scale using even-mode rounding. - β
convert_ref_scales_to_mxfp8_format: - β
get_batched_scale_factor: - β
get_scale_factor: - β
get_scaling_kind: - β
set_batched_scale_factor: - β
set_scale_factor:
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!