[ROCm][CI] Remove mxfp4 test skips after amd-quark 0.12 release (#47330)

Signed-off-by: Micah Williamson <micah.williamson@amd.com>
Signed-off-by: Andreas Karatzas <akaratza@amd.com>
Signed-off-by: Andreas Karatzas <Andreas.Karatzas@amd.com>
Co-authored-by: Andreas Karatzas <Andreas.Karatzas@amd.com>
Co-authored-by: fxmarty-amd <felmarty@amd.com>
Co-authored-by: Andreas Karatzas <akaratza@amd.com>
This commit is contained in:
Micah Williamson
2026-07-15 01:25:05 +00:00
committed by GitHub
co-authored by Andreas Karatzas fxmarty-amd Andreas Karatzas
parent f7aadae5e5
commit 6e073440b1
5 changed files with 11 additions and 59 deletions
+1 -1
View File
@@ -21,7 +21,7 @@ conch-triton-kernels==1.2.1
timm>=1.0.17
# amd-quark: required for Quark quantization on ROCm
# To be consistent with test_quark.py
amd-quark>=0.8.99
amd-quark==0.12.post1
tilelang==0.1.10
# Required apache-tvm-ffi matching tilelang version
apache-tvm-ffi==0.1.10
+4 -21
View File
@@ -9,30 +9,16 @@ pytest -s -v tests/evals/gsm8k/test_gsm8k_correctness.py \
--config-list-file=configs/models-small.txt
"""
import importlib.metadata
import shlex
from importlib.util import find_spec
import pytest
import torch
import yaml
from packaging import version
from tests.utils import RemoteOpenAIServer
from vllm.platforms import current_platform
from .gsm8k_eval import evaluate_gsm8k
# MXFP4 via quark requires amd-quark >= 0.12 on torch >= 2.11.
# Earlier torch releases work with older quark versions. See
# https://github.com/amd/Quark/issues/34
# TODO: Remove once amd-quark>=0.12.0
QUARK_MXFP4_TORCH_COMPATIBLE = find_spec("quark") is not None and (
version.parse(importlib.metadata.version("amd-quark")) >= version.parse("0.12.0")
if version.parse(torch.__version__.split("+")[0]) >= version.parse("2.11")
else True
)
DEFAULT_STARTUP_MAX_WAIT_SECONDS = 1200
@@ -109,19 +95,16 @@ def test_gsm8k_correctness(config_filename):
"Skipping DeepSeek-V3.2 and DeepSeek-R1 on ROCm platforms "
"due to agent pool disk space issues and pod evictions."
)
if current_platform.is_rocm() and ("Qwen3.5-35B-A3B-MXFP4" in config_filename.name):
if current_platform.is_rocm() and (
"Qwen3.5-35B-A3B-MXFP4-AITER-TP2" in config_filename.name
):
from vllm.platforms.rocm import on_gfx950
if not on_gfx950() and "AITER-TP2" in config_filename.name:
if not on_gfx950():
pytest.skip(
"Skipping Qwen3.5-35B-A3B-MXFP4-AITER-TP2 on non-GFX950 platforms. "
"The quantization scheme is not supported on non-GFX950 platforms."
)
if not QUARK_MXFP4_TORCH_COMPATIBLE:
pytest.skip(
"Skipping Qwen3.5-35B-A3B-MXFP4: amd-quark >= 0.12 is required "
"on torch >= 2.11."
)
# Parse server arguments from config (use shlex to handle quoted strings)
server_args_str = eval_config.get("server_args", "")
server_args = shlex.split(server_args_str) if server_args_str else []
+2 -15
View File
@@ -1,30 +1,17 @@
# SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
import importlib.metadata
import types
from dataclasses import dataclass
from importlib.util import find_spec
import pytest
import torch
from packaging import version
from tests.kernels.moe.utils import check_accuracy
from vllm._aiter_ops import is_aiter_found, rocm_aiter_ops
from vllm.platforms import current_platform
from vllm.utils.flashinfer import has_flashinfer
# MXFP4 via quark requires amd-quark >= 0.12 on torch >= 2.11.
# Earlier torch releases work with older quark versions. See
# https://github.com/amd/Quark/issues/34
# TODO: Remove once amd-quark>=0.12.0
QUARK_MXFP4_TORCH_COMPATIBLE = find_spec("quark") is not None and (
version.parse(importlib.metadata.version("amd-quark")) >= version.parse("0.12.0")
if version.parse(torch.__version__.split("+")[0]) >= version.parse("2.11")
else True
)
TRTLLM_GEN_MXFP4_AVAILABLE = (
current_platform.is_cuda() and current_platform.is_device_capability_family(100)
)
@@ -96,8 +83,8 @@ def enable_pickle(monkeypatch):
],
)
@pytest.mark.skipif(
not QUARK_MXFP4_TORCH_COMPATIBLE,
reason="MXFP4 via quark requires amd-quark >= 0.12 on torch >= 2.11.",
not ROCM_AVAILABLE,
reason="This test is only enabled on platforms that support amd-quark",
)
def test_mxfp4_loading_and_execution_moe(vllm_runner, model_case: ModelCase):
if torch.accelerator.device_count() < model_case.tp:
+3 -21
View File
@@ -1,12 +1,8 @@
# SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
import importlib.metadata
from importlib.util import find_spec
import pytest
import torch
from packaging import version
import vllm
from vllm.lora.request import LoRARequest
@@ -14,22 +10,6 @@ from vllm.platforms import current_platform
from ..utils import multi_gpu_test
# Require amd-quark >= 0.12 on torch >= 2.11.
# Earlier torch releases work with older quark versions. See
# https://github.com/amd/Quark/issues/34
# TODO: Remove once amd-quark>=0.12.0
QUARK_TORCH_COMPATIBLE = find_spec("quark") is not None and (
version.parse(importlib.metadata.version("amd-quark")) >= version.parse("0.12.0")
if version.parse(torch.__version__.split("+")[0]) >= version.parse("2.11")
else True
)
if current_platform.is_rocm() and not QUARK_TORCH_COMPATIBLE:
pytest.skip(
"This test requires amd-quark >= 0.12 on torch >= 2.11.",
allow_module_level=True,
)
MODEL_PATH = "openai/gpt-oss-20b"
PROMPT_TEMPLATE = """<|start|>system<|message|>You are ChatGPT, a large language model trained by OpenAI.
@@ -88,7 +68,9 @@ def generate_and_test(llm: vllm.LLM, lora_path: str, lora_id: int) -> None:
generated_texts.append(generated_text)
print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")
for i in range(len(EXPECTED_LORA_OUTPUT)):
assert generated_texts[i].startswith(EXPECTED_LORA_OUTPUT[i])
generated = " ".join(generated_texts[i].split())
expected = " ".join(EXPECTED_LORA_OUTPUT[i].split())
assert generated.startswith(expected)
# TODO: make the Mxfp4MoeBackend.TRITON spawn-safe.
+1 -1
View File
@@ -41,7 +41,7 @@ else:
from .reference_mxfp4 import dq_mxfp4_torch, qdq_mxfp4_torch
# Minimum amd-quark version for MXFP4/OCP_MX tests (single source of truth).
QUARK_MXFP4_MIN_VERSION = "0.8.99"
QUARK_MXFP4_MIN_VERSION = "0.12"
QUARK_MXFP4_AVAILABLE = find_spec("quark") is not None and version.parse(
importlib.metadata.version("amd-quark")