[Bugfix] Gate Kimi-K3 KDA warmup on sys.modules to skip Kimi import for non-Kimi models (#59257)

Signed-off-by: YueshenZ <YueshenZ@users.noreply.github.com> Signed-off-by: zjy0516 <riverclouds.zhu@qq.com> Co-authored-by: YueshenZ <YueshenZ@users.noreply.github.com> Co-authored-by: Claude Code <noreply@anthropic.com> Co-authored-by: Codex <noreply@openai.com> Co-authored-by: zjy0516 <riverclouds.zhu@qq.com>

YueshenZ committed Oct 1, 2026 at 17:25 UTC 08d77cad7be4c2ba1f72ebbd5d58571e7e91b2de
1 file changed +6 -2
vllm/model_executor/warmup/kimi_k3_triton_warmup.py
+6 -2
@@ -4,6 +4,7 @@
4
5 from __future__ import annotations
6
7 +import sys
8 from typing import TYPE_CHECKING
9
10 import torch
@@ -19,7 +20,10 @@ logger = init_logger(__name__)
20
21
22 def _get_kda_layer(worker: Worker) -> KimiK3DeltaAttention | None:
22 - from vllm.models.kimi_k3.nvidia.kda import KimiK3DeltaAttention
23 + # Kimi model construction already imports kda. Avoid importing it here.
24 + kda = sys.modules.get("vllm.models.kimi_k3.nvidia.kda")
25 + if kda is None:
26 + return None
27
28 compilation_config = getattr(
29 worker.model_runner,
@@ -33,7 +37,7 @@ def _get_kda_layer(worker: Worker) -> KimiK3DeltaAttention | None:
37 (
38 layer
39 for layer in static_context.values()
36 - if isinstance(layer, KimiK3DeltaAttention)
40 + if isinstance(layer, kda.KimiK3DeltaAttention)
41 ),
42 None,
43 )