diff --git a/vllm/model_executor/kernels/linear/scaled_mm/cutlass.py b/vllm/model_executor/kernels/linear/scaled_mm/cutlass.py index 9f69ab0c7377..20e370cbc011 100644 --- a/vllm/model_executor/kernels/linear/scaled_mm/cutlass.py +++ b/vllm/model_executor/kernels/linear/scaled_mm/cutlass.py @@ -166,6 +166,10 @@ def is_supported( ) -> tuple[bool, str | None]: if not current_platform.is_cuda(): return False, "requires CUDA." + + if compute_capability is not None and compute_capability < 89: + return False, "requires compute capability 89 and above." + return True, None @classmethod diff --git a/vllm/model_executor/layers/quantization/modelopt.py b/vllm/model_executor/layers/quantization/modelopt.py index 24ec55e40063..0ccc4f21d735 100644 --- a/vllm/model_executor/layers/quantization/modelopt.py +++ b/vllm/model_executor/layers/quantization/modelopt.py @@ -2299,13 +2299,13 @@ def get_supported_act_dtypes(self) -> list[torch.dtype]: @classmethod def get_min_capability(cls) -> int: - # Ampere (SM80/SM86): NVFP4 routed experts run via Marlin W4A16, and FP8 + # Turing (SM75): NVFP4 routed experts run via Marlin W4A16, and FP8 # weight-only dense layers run via MarlinFP8 (W8A16, compute in # bf16/fp16). FP8 MoE, if present, also routes to Marlin because # TritonExperts gates its FP8 schemes behind supports_fp8() (cc>=89). - # None of these paths require native FP8 tensor cores, so SM80 is + # None of these paths require native FP8 tensor cores, so SM75 is # sufficient. - return 80 + return 75 @classmethod def override_quantization_method(