vllm.model_executor.kernels.linear.mxfp6 ¶
Modules:
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 (2 FP4 values per byte) 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.