vllm.model_executor.kernels.linear.mxfp6.base
¶
Classes:
-
MxFp6LinearKernel–Base class for MXFP6 quantized linear kernels.
-
MxFp6LinearLayerConfig–Configuration for an MXFP6 linear layer.
MxFp6LinearKernel
¶
Bases: ABC
Base class for MXFP6 quantized linear kernels.
Each subclass implements a specific GEMM backend (CUTLASS, Marlin, etc).
The kernel selection mechanism iterates over registered subclasses in
priority order,calling is_supported and can_implement to find the best
match for the current hardware.
Methods:
-
apply_weights–Run the quantized GEMM.
-
can_implement–Return whether this kernel can handle config.
-
is_supported–Return whether this kernel can run on the current platform.
-
process_weights_after_loading–Transform weights into the format required by this kernel.
Source code in vllm/model_executor/kernels/linear/mxfp6/base.py
apply_weights(layer, x, bias=None)
abstractmethod
¶
Run the quantized GEMM.
can_implement(config)
abstractmethod
classmethod
¶
Return whether this kernel can handle config.
is_supported(compute_capability=None)
abstractmethod
classmethod
¶
Return whether this kernel can run on the current platform.
process_weights_after_loading(layer)
abstractmethod
¶
Transform weights into the format required by this kernel.
Called once after checkpoint weights have been loaded onto the device. Implementations should repack / swizzle / pad weights and scales in-place on layer.
Source code in vllm/model_executor/kernels/linear/mxfp6/base.py
MxFp6LinearLayerConfig
dataclass
¶
Configuration for an MXFP6 linear layer.
All MXFP6 layers share the same structure: packed uint8 weights (4 FP6 values per 3 bytes) and per-block weight scales (group size 32).
Attributes:
-
weight_quant_key(QuantKey) –Identifies the weight quantization format. Can be kMxfp6E2M3Static or kMxfp6E3M2Static.
-
activation_quant_key(QuantKey | None) –Identifies the activation quantization format, or
Nonewhen activations must not be quantized.