[Docs] Fix stale W4A16 NVFP4 default kernel in ModelOpt docs (#59135)
Signed-off-by: Rajeev Warrier <warrier.rajeev.95@gmail.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Rajeev Warrier committed
Oct 2, 2026 at 18:51 UTC
30e956fad3b4f3d79420321d608aaba262d3cebe
2 files changed
+4
-6
docs/features/quantization/modelopt.md
+1
-3
@@ -33,9 +33,7 @@ following `quantization.quant_algo` values:
33
`flashinfer_cutlass`, `flashinfer_cutedsl`, `flashinfer_trtllm`,
34
`flashinfer_cudnn`, and `marlin`; see `KernelConfig` on the
35
[Engine Arguments](../../configuration/engine_args.md) page and shown by
36
- `vllm serve --help=KernelConfig`. For `W4A16_NVFP4`, `auto` currently
37
- selects Marlin. Models with BF16 activations can explicitly select the
38
- FlashInfer CuTe-DSL backend with `--linear-backend flashinfer_cutedsl`.
36
+ `vllm serve --help=KernelConfig`.
37
38
!!! note
39
For models quantized to MXFP8 with BF16 activations on SM100-family GPUs,
vllm/model_executor/layers/quantization/modelopt.py
+3
-3
@@ -2314,9 +2314,9 @@ def select_linear_kernel(
2314
w = spec.weight
2315
assert isinstance(w, QuantKey), f"resolve() must supply a weight key, got {w!r}"
2316
if w.dtype == FP4_DTYPE:
2317
- # W4A16 (activation is None) → use_a16=True defaults to Marlin *and*
2318
- # honors --linear-backend (matches upstream ModelOptNvFp4W4A16LinearMethod
2319
- # after #50273); W4A4 → use_a16=False.
2317
+ # W4A16 (activation is None) → use_a16=True, auto prefers FlashInfer
2318
+ # CuTe-DSL backend on SM100/103 when available and Marlin otherwise,
2319
+ # and honors --linear-backend (#50273); W4A4 → use_a16=False.
2320
return init_nvfp4_linear_kernel(use_a16=spec.activation is None)
2321
if w.scale.dtype == MXFP8_SCALE_DTYPE:
2322
return init_mxfp8_linear_kernel(