Skip to content

Commit 359e6df

Browse files
committed
Cache vllm_version_is function
Signed-off-by: lianyibo <[email protected]>
1 parent f9dfde0 commit 359e6df

File tree

2 files changed

+20
-8
lines changed

2 files changed

+20
-8
lines changed

tests/ut/test_utils.py

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -239,17 +239,27 @@ def test_current_stream(self):
239239
def test_vllm_version_is(self):
240240
with mock.patch.dict(os.environ, {"VLLM_VERSION": "1.0.0"}):
241241
with mock.patch("vllm.__version__", "1.0.0"):
242-
self.assertTrue(utils.vllm_version_is("1.0.0"))
243-
self.assertFalse(utils.vllm_version_is("2.0.0"))
242+
self.assertTrue(utils.vllm_version_is.__wrapped__("1.0.0"))
243+
self.assertFalse(utils.vllm_version_is.__wrapped__("2.0.0"))
244244
with mock.patch("vllm.__version__", "2.0.0"):
245-
self.assertTrue(utils.vllm_version_is("1.0.0"))
246-
self.assertFalse(utils.vllm_version_is("2.0.0"))
245+
self.assertTrue(utils.vllm_version_is.__wrapped__("1.0.0"))
246+
self.assertFalse(utils.vllm_version_is.__wrapped__("2.0.0"))
247247
with mock.patch("vllm.__version__", "1.0.0"):
248-
self.assertTrue(utils.vllm_version_is("1.0.0"))
249-
self.assertFalse(utils.vllm_version_is("2.0.0"))
248+
self.assertTrue(utils.vllm_version_is.__wrapped__("1.0.0"))
249+
self.assertFalse(utils.vllm_version_is.__wrapped__("2.0.0"))
250250
with mock.patch("vllm.__version__", "2.0.0"):
251-
self.assertTrue(utils.vllm_version_is("2.0.0"))
252-
self.assertFalse(utils.vllm_version_is("1.0.0"))
251+
self.assertTrue(utils.vllm_version_is.__wrapped__("2.0.0"))
252+
self.assertFalse(utils.vllm_version_is.__wrapped__("1.0.0"))
253+
# Test caching takes effect
254+
utils.vllm_version_is.cache_clear()
255+
utils.vllm_version_is("1.0.0")
256+
misses = utils.vllm_version_is.cache_info().misses
257+
hits = utils.vllm_version_is.cache_info().hits
258+
self.assertEqual(misses, 1)
259+
self.assertEqual(hits, 0)
260+
utils.vllm_version_is("1.0.0")
261+
hits = utils.vllm_version_is.cache_info().hits
262+
self.assertEqual(hits, 1)
253263

254264
def test_update_aclgraph_sizes(self):
255265
# max_num_batch_sizes < len(original_sizes)

vllm_ascend/utils.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
import atexit
2121
import fcntl
22+
import functools
2223
import math
2324
import os
2425
import shutil
@@ -280,6 +281,7 @@ def adapt_patch(is_global_patch: bool = False):
280281
from vllm_ascend.patch import worker # noqa: F401
281282

282283

284+
@functools.cache
283285
def vllm_version_is(target_vllm_version: str):
284286
if envs.VLLM_VERSION is not None:
285287
vllm_version = envs.VLLM_VERSION

0 commit comments

Comments
 (0)