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 15, 04:45 UTC
Quick Fix by adding conditional import for flash_attn_varlen_func in flash_attn (#20143)
Signed-off-by: Chendi.Xue <chendi.xue@intel.com>
Chendi.Xue committed
Jun 27, 2025 at 00:48 UTC
dec197e3e5d14e1d4fbad61b565e151f52976c0f
2 files changed
+11
-3
vllm/attention/utils/fa_utils.py
+4
@@ -66,3 +66,7 @@ def get_flash_attn_version(requires_alibi: bool = False) -> Optional[int]:
66
def flash_attn_supports_fp8() -> bool:
67
return get_flash_attn_version() == 3 and \
68
current_platform.get_device_capability().major == 9
69
+
70
+
71
+def is_flash_attn_varlen_func_available() -> bool:
72
+ return current_platform.is_cuda() or current_platform.is_xpu()
vllm/v1/attention/backends/flash_attn.py
+7
-3
@@ -14,10 +14,14 @@ from vllm.attention.backends.abstract import (AttentionBackend, AttentionImpl,
14
from vllm.attention.layer import Attention
15
from vllm.attention.ops.merge_attn_states import merge_attn_states
16
from vllm.attention.utils.fa_utils import (flash_attn_supports_fp8,
17
- flash_attn_varlen_func,
17
get_flash_attn_version,
19
- get_scheduler_metadata,
20
- reshape_and_cache_flash)
18
+ is_flash_attn_varlen_func_available)
19
+
20
+if is_flash_attn_varlen_func_available():
21
+ from vllm.attention.utils.fa_utils import (flash_attn_varlen_func,
22
+ get_scheduler_metadata,
23
+ reshape_and_cache_flash)
24
+
25
from vllm.config import VllmConfig, get_layers_from_vllm_config
26
from vllm.logger import init_logger
27
from vllm.utils import cdiv