@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / dec197e3e5
Fork 0

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