Skip to content

Commit dfdda96

Browse files
[Core] Remove forced None assignment for deprecated PassConfig flags (#29994)
Signed-off-by: arpitkh101 <[email protected]> Co-authored-by: Cyrus Leung <[email protected]>
1 parent ffdd181 commit dfdda96

File tree

2 files changed

+27
-17
lines changed

2 files changed

+27
-17
lines changed

tests/compile/test_config.py

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -392,39 +392,48 @@ def test_pass_config_deprecation(caplog_vllm):
392392
assert "enable_fusion is deprecated" in caplog_vllm.text
393393
assert config.fuse_norm_quant is True
394394
assert config.fuse_act_quant is True
395-
assert config.enable_fusion is None
395+
assert config.enable_fusion is True
396396

397397
# Test enable_attn_fusion -> fuse_attn_quant
398398
caplog_vllm.clear()
399399
config = PassConfig(enable_attn_fusion=True)
400400
assert "enable_attn_fusion is deprecated" in caplog_vllm.text
401401
assert config.fuse_attn_quant is True
402-
assert config.enable_attn_fusion is None
402+
assert config.enable_attn_fusion is True
403403

404404
# Test enable_noop -> eliminate_noops
405405
caplog_vllm.clear()
406406
config = PassConfig(enable_noop=True)
407407
assert "enable_noop is deprecated" in caplog_vllm.text
408408
assert config.eliminate_noops is True
409-
assert config.enable_noop is None
409+
assert config.enable_noop is True
410410

411411
# Test enable_sequence_parallelism -> enable_sp
412412
caplog_vllm.clear()
413413
config = PassConfig(enable_sequence_parallelism=True)
414414
assert "enable_sequence_parallelism is deprecated" in caplog_vllm.text
415415
assert config.enable_sp is True
416-
assert config.enable_sequence_parallelism is None
416+
assert config.enable_sequence_parallelism is True
417417

418418
# Test enable_async_tp -> fuse_gemm_comms
419419
caplog_vllm.clear()
420420
config = PassConfig(enable_async_tp=True)
421421
assert "enable_async_tp is deprecated" in caplog_vllm.text
422422
assert config.fuse_gemm_comms is True
423-
assert config.enable_async_tp is None
423+
assert config.enable_async_tp is True
424424

425425
# Test enable_fi_allreduce_fusion -> fuse_allreduce_rms
426426
caplog_vllm.clear()
427427
config = PassConfig(enable_fi_allreduce_fusion=True)
428428
assert "enable_fi_allreduce_fusion is deprecated" in caplog_vllm.text
429429
assert config.fuse_allreduce_rms is True
430-
assert config.enable_fi_allreduce_fusion is None
430+
assert config.enable_fi_allreduce_fusion is True
431+
432+
# Test hash consistency
433+
config_old = PassConfig(enable_fusion=True)
434+
config_new = PassConfig(fuse_norm_quant=True, fuse_act_quant=True)
435+
assert config_old.compute_hash() == config_new.compute_hash()
436+
437+
config_old = PassConfig(enable_async_tp=True)
438+
config_new = PassConfig(fuse_gemm_comms=True)
439+
assert config_old.compute_hash() == config_new.compute_hash()

vllm/config/compilation.py

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import enum
55
from collections import Counter
66
from collections.abc import Callable
7-
from dataclasses import asdict, field
7+
from dataclasses import field
88
from pathlib import Path
99
from typing import TYPE_CHECKING, Any, ClassVar, Literal
1010

@@ -13,7 +13,7 @@
1313

1414
import vllm.envs as envs
1515
from vllm.compilation.inductor_pass import CallableInductorPass, InductorPass
16-
from vllm.config.utils import config, handle_deprecated
16+
from vllm.config.utils import config, get_hash_factors, handle_deprecated, hash_factors
1717
from vllm.logger import init_logger
1818
from vllm.platforms import current_platform
1919
from vllm.utils.import_utils import resolve_obj_by_qualname
@@ -196,7 +196,16 @@ def compute_hash(self) -> str:
196196
Any new fields that affect compilation should be added to the hash.
197197
Any future fields that don't affect compilation should be excluded.
198198
"""
199-
return InductorPass.hash_dict(asdict(self))
199+
200+
ignored_fields = [
201+
"enable_fusion",
202+
"enable_attn_fusion",
203+
"enable_noop",
204+
"enable_sequence_parallelism",
205+
"enable_async_tp",
206+
"enable_fi_allreduce_fusion",
207+
]
208+
return hash_factors(get_hash_factors(self, ignored_factors=ignored_fields))
200209

201210
@field_validator(
202211
"fuse_norm_quant",
@@ -267,14 +276,6 @@ def __post_init__(self) -> None:
267276
"v0.13.0 or v1.0.0, whichever is sooner",
268277
)
269278

270-
# Force old flags to None to ensure they are not used
271-
self.enable_fusion = None
272-
self.enable_attn_fusion = None
273-
self.enable_noop = None
274-
self.enable_sequence_parallelism = None
275-
self.enable_async_tp = None
276-
self.enable_fi_allreduce_fusion = None
277-
278279
if not self.eliminate_noops:
279280
if self.fuse_norm_quant or self.fuse_act_quant:
280281
logger.warning_once(

0 commit comments

Comments
 (0)