[CI/Build][REDO] Add is_quant_method_supported to control quantization test configurations (#5466)

This commit is contained in:
Michael Goin
2024-06-13 11:18:08 -04:00
committed by GitHub
parent c2637a613b
commit 23ec72fa03
8 changed files with 32 additions and 71 deletions

View File

@@ -5,17 +5,13 @@ Run `pytest tests/quantization/test_fp8.py --forked`.
import pytest
import torch
from tests.quantization.utils import is_quant_method_supported
from vllm._custom_ops import scaled_fp8_quant
from vllm.model_executor.layers.quantization import QUANTIZATION_METHODS
from vllm.model_executor.layers.quantization.fp8 import Fp8LinearMethod
capability = torch.cuda.get_device_capability()
capability = capability[0] * 10 + capability[1]
@pytest.mark.skipif(
capability < QUANTIZATION_METHODS["fp8"].get_min_capability(),
reason="FP8 is not supported on this GPU type.")
@pytest.mark.skipif(not is_quant_method_supported("fp8"),
reason="FP8 is not supported on this GPU type.")
def test_load_fp16_model(vllm_runner) -> None:
with vllm_runner("facebook/opt-125m", quantization="fp8") as llm:
@@ -25,9 +21,8 @@ def test_load_fp16_model(vllm_runner) -> None:
assert fc1.weight.dtype == torch.float8_e4m3fn
@pytest.mark.skipif(
capability < QUANTIZATION_METHODS["fp8"].get_min_capability(),
reason="FP8 is not supported on this GPU type.")
@pytest.mark.skipif(not is_quant_method_supported("fp8"),
reason="FP8 is not supported on this GPU type.")
@pytest.mark.parametrize("dtype", [torch.float16, torch.bfloat16])
def test_scaled_fp8_quant(dtype) -> None: