[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(