forked from Karylab-cklius/vllm
[CI] fix compile test | refactor VLLM_DISABLE_COMPILE_CACHE for tests (#49770)
Signed-off-by: Divakar Verma <divakar.verma@amd.com>
This commit is contained in:
@@ -290,12 +290,9 @@ def test_attention_quant_pattern(
|
||||
model_class: type[AttentionQuantPatternModel],
|
||||
backend: AttentionBackendEnum,
|
||||
dist_init,
|
||||
monkeypatch,
|
||||
use_fresh_inductor_cache,
|
||||
disable_vllm_compile_cache,
|
||||
):
|
||||
"""Test AttentionStaticQuantPattern fusion pass"""
|
||||
monkeypatch.setenv("VLLM_DISABLE_COMPILE_CACHE", "1")
|
||||
|
||||
if backend == AttentionBackendEnum.FLASHINFER and (
|
||||
not current_platform.is_device_capability((10, 0)) or not has_flashinfer()
|
||||
):
|
||||
|
||||
@@ -419,8 +419,7 @@ def test_mla_attention_quant_pattern(
|
||||
model_class: type[MLAAttentionQuantPatternModel],
|
||||
backend: AttentionBackendEnum,
|
||||
dist_init,
|
||||
monkeypatch,
|
||||
use_fresh_inductor_cache,
|
||||
disable_vllm_compile_cache,
|
||||
):
|
||||
"""Test MLA AttentionQuantPattern fusion pass"""
|
||||
if (
|
||||
@@ -429,8 +428,6 @@ def test_mla_attention_quant_pattern(
|
||||
):
|
||||
pytest.skip("NVFP4 is not supported on this GPU (requires SM 100+).")
|
||||
|
||||
monkeypatch.setenv("VLLM_DISABLE_COMPILE_CACHE", "1")
|
||||
|
||||
custom_ops_list = custom_ops.split(",") if custom_ops else []
|
||||
|
||||
device = torch.device(f"{DEVICE_TYPE}:0")
|
||||
|
||||
@@ -66,7 +66,7 @@ class PostGradRangeChecker(InductorPass):
|
||||
return InductorPass.hash_dict(state)
|
||||
|
||||
|
||||
def test_compile_ranges(use_fresh_inductor_cache):
|
||||
def test_compile_ranges(disable_vllm_compile_cache):
|
||||
post_grad_range_checker = PostGradRangeChecker(
|
||||
[
|
||||
Range(start=1, end=8),
|
||||
@@ -168,7 +168,7 @@ class PostGradStaticShapeChecker(InductorPass):
|
||||
return InductorPass.hash_dict(state)
|
||||
|
||||
|
||||
def test_compile_sizes_produce_static_shapes(use_fresh_inductor_cache):
|
||||
def test_compile_sizes_produce_static_shapes(disable_vllm_compile_cache):
|
||||
"""Verify that compile_sizes entries are compiled with fully concrete
|
||||
shapes (no SymInts), while compile_ranges entries retain dynamic shapes."""
|
||||
checker = PostGradStaticShapeChecker()
|
||||
@@ -209,10 +209,9 @@ def test_compile_sizes_produce_static_shapes(use_fresh_inductor_cache):
|
||||
)
|
||||
|
||||
|
||||
def test_inductor_cache_compile_ranges(monkeypatch, use_fresh_inductor_cache):
|
||||
# To force multiple compilations, we disable the compile cache
|
||||
monkeypatch.setenv("VLLM_DISABLE_COMPILE_CACHE", "1")
|
||||
|
||||
def test_inductor_cache_compile_ranges(disable_vllm_compile_cache):
|
||||
# disable_vllm_compile_cache sets VLLM_DISABLE_COMPILE_CACHE=1 to force
|
||||
# multiple compilations by disabling vLLM's on-disk compile cache.
|
||||
post_grad_range_checker = PostGradRangeChecker(
|
||||
ranges=[
|
||||
Range(start=1, end=8),
|
||||
|
||||
@@ -1768,6 +1768,22 @@ def use_fresh_inductor_cache():
|
||||
yield
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def disable_vllm_compile_cache(monkeypatch, use_fresh_inductor_cache):
|
||||
"""
|
||||
Use a fresh inductor cache AND disable vLLM's on-disk torch.compile cache.
|
||||
|
||||
This forces compilation (and any custom compile passes) to actually run
|
||||
instead of being served from a warm cache left behind by previous runs
|
||||
(e.g. on persistent CI agents). Use this for tests that inspect what
|
||||
happens during compilation; use ``use_fresh_inductor_cache`` (or
|
||||
``fresh_vllm_cache``) instead when the vLLM compile cache must stay
|
||||
enabled (e.g. cache save/load tests).
|
||||
"""
|
||||
monkeypatch.setenv("VLLM_DISABLE_COMPILE_CACHE", "1")
|
||||
yield
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def fresh_vllm_cache(monkeypatch, use_fresh_inductor_cache):
|
||||
"""Temporary VLLM_CACHE_ROOT combined with a fresh inductor cache."""
|
||||
|
||||
Reference in New Issue
Block a user