From 08d77cad7be4c2ba1f72ebbd5d58571e7e91b2de Mon Sep 17 00:00:00 2001 From: YueshenZ <844936239@qq.com> Date: Thu, 1 Oct 2026 17:25:45 +0800 Subject: [PATCH] [Bugfix] Gate Kimi-K3 KDA warmup on sys.modules to skip Kimi import for non-Kimi models (#59257) Signed-off-by: YueshenZ Signed-off-by: zjy0516 Co-authored-by: YueshenZ Co-authored-by: Claude Code Co-authored-by: Codex Co-authored-by: zjy0516 --- vllm/model_executor/warmup/kimi_k3_triton_warmup.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/vllm/model_executor/warmup/kimi_k3_triton_warmup.py b/vllm/model_executor/warmup/kimi_k3_triton_warmup.py index 4c4a0327c7..e7883fff44 100644 --- a/vllm/model_executor/warmup/kimi_k3_triton_warmup.py +++ b/vllm/model_executor/warmup/kimi_k3_triton_warmup.py @@ -4,6 +4,7 @@ from __future__ import annotations +import sys from typing import TYPE_CHECKING import torch @@ -19,7 +20,10 @@ logger = init_logger(__name__) def _get_kda_layer(worker: Worker) -> KimiK3DeltaAttention | None: - from vllm.models.kimi_k3.nvidia.kda import KimiK3DeltaAttention + # Kimi model construction already imports kda. Avoid importing it here. + kda = sys.modules.get("vllm.models.kimi_k3.nvidia.kda") + if kda is None: + return None compilation_config = getattr( worker.model_runner, @@ -33,7 +37,7 @@ def _get_kda_layer(worker: Worker) -> KimiK3DeltaAttention | None: ( layer for layer in static_context.values() - if isinstance(layer, KimiK3DeltaAttention) + if isinstance(layer, kda.KimiK3DeltaAttention) ), None, )