Files
vllm-omni/tests/platforms/npu/test_diffusion_platform.py
T
fe4a2a7477 [Diffusion] Add paged KV cache support for HunyuanImage3 DiT on NPU and GPU (#6563)
Signed-off-by: Acerak01-fy <wfy2003324@163.com>
Signed-off-by: zwhzzz0821 <zwhzzz0821@users.noreply.github.com>
Signed-off-by: zwhzzz0821 <2831474076@qq.com>
Co-authored-by: zwhzzz0821 <zwhzzz0821@users.noreply.github.com>
Co-authored-by: zwhzzz0821 <2831474076@qq.com>
2026-08-31 10:15:46 +00:00

65 lines
2.1 KiB
Python

# SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: Copyright contributors to the vLLM-Omni project
import importlib.util
from types import SimpleNamespace
import pytest
pytestmark = [pytest.mark.core_model, pytest.mark.cpu]
@pytest.mark.parametrize("available", [False, True])
def test_dense_flash_capability_tracks_mindiesd(monkeypatch, available):
pytest.importorskip("vllm_ascend")
from vllm_omni.platforms.npu.platform import NPUOmniPlatform
monkeypatch.setattr(
importlib.util,
"find_spec",
lambda name: object() if name == "mindiesd" and available else None,
)
assert NPUOmniPlatform.supports_diffusion_dense_flash_attention() is available
def test_paged_config_uses_ascend_kernel_block_size() -> None:
pytest.importorskip("vllm_ascend")
from vllm_ascend.attention.attention_v1 import AscendAttentionBackend
from vllm_omni.diffusion.diffusion_kv.config import DiffusionKVCacheMode
from vllm_omni.platforms.npu.platform import NPUOmniPlatform
vllm_config = SimpleNamespace(cache_config=SimpleNamespace(block_size=16))
NPUOmniPlatform.configure_diffusion_vllm_config(
vllm_config,
SimpleNamespace(diffusion_kv_mode=DiffusionKVCacheMode.PAGED_SCHEDULER),
)
assert vllm_config.cache_config.block_size == AscendAttentionBackend.get_supported_kernel_block_sizes()[0]
def test_strict_ulysses_paged_backend_bypasses_ascend_pcp() -> None:
pytest.importorskip("vllm_ascend")
from vllm_ascend.attention.attention_v1 import (
AscendAttentionBackend,
AscendAttentionBackendImpl,
AscendAttentionMetadataBuilder,
)
from vllm_omni.platforms.npu.platform import NPUOmniPlatform
assert (
NPUOmniPlatform.get_diffusion_paged_kv_attn_backend(
AscendAttentionBackend,
ulysses_degree=1,
)
is AscendAttentionBackend
)
backend = NPUOmniPlatform.get_diffusion_paged_kv_attn_backend(
AscendAttentionBackend,
ulysses_degree=2,
)
assert backend.get_impl_cls() is AscendAttentionBackendImpl
assert backend.get_builder_cls() is AscendAttentionMetadataBuilder