A high-throughput and memory-efficient inference and serving engine for LLMs
Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git
Synced Nov 14, 23:45 UTC
[Bugfix] DeepGEMM is not enabled on B200 due to `_lazy_init()` (#21472)
Signed-off-by: Clayton Coleman <smarterclayton@gmail.com> Co-authored-by: mgoin <mgoin64@gmail.com>
Clayton Coleman committed
Jul 28, 2025 at 16:51 UTC
c6f36cfa2642486ba2c2e5d62be0467fe1c036f9
1 file changed
+8
-4
vllm/utils/deep_gemm.py
+8
-4
@@ -13,7 +13,8 @@ from typing import Any, Callable, NoReturn
13
import torch
14
15
import vllm.envs as envs
16
-from vllm.utils import cuda_get_device_properties, has_deep_gemm
16
+from vllm.platforms import current_platform
17
+from vllm.utils import has_deep_gemm
18
19
20
@functools.cache
@@ -21,12 +22,15 @@ def is_blackwell_deep_gemm_used() -> bool:
22
"""Return ``True`` if vLLM is configured to use DeepGEMM on a
23
Blackwell-class GPU.
24
"""
25
+ if not (envs.VLLM_USE_DEEP_GEMM and has_deep_gemm()):
26
+ return False
27
25
- if not (envs.VLLM_USE_DEEP_GEMM and has_deep_gemm()
26
- and _per_block_cast_impl is not None):
28
+ _lazy_init()
29
+ if _per_block_cast_impl is None:
30
return False
31
29
- return cuda_get_device_properties(0, ("major", ))[0] == 10
32
+ return (current_platform.is_cuda()
33
+ and current_platform.is_device_capability(100))
34
35
36
def _missing(*_: Any, **__: Any) -> NoReturn: