From dba027fdedec71909dab427b1ce90af13f90c4c3 Mon Sep 17 00:00:00 2001 From: EX Engine Date: Mon, 10 Aug 2026 03:39:49 +0000 Subject: [PATCH] fix(deploy): wire corex_gdn.py + corex_moe.py into patch_ops.sh Deploy to $VLLM/model_executor/models/ so qwen3_5.py import succeeds: from vllm.model_executor.models import corex_gdn from vllm.model_executor.models import corex_moe Dispatch chain now complete: GDN: corex_gdn (PyTorch fp32) || flash_qla_sm70 (CUDA, gate-clamped) || torch fallback MoE: ix_fused_moe_forward (C++) || corex_moe || EX CUB topk || torch fallback --- qwen3_6_scripts/patch_ops.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/qwen3_6_scripts/patch_ops.sh b/qwen3_6_scripts/patch_ops.sh index 862a9056..47c67d76 100755 --- a/qwen3_6_scripts/patch_ops.sh +++ b/qwen3_6_scripts/patch_ops.sh @@ -178,6 +178,18 @@ if [ -n "$VLLM2" ]; then cp ./chat_utils.py "$VLLM2/entrypoints/chat_utils.py" 2>/dev/null || true fi +# Deploy corex_gdn.py + corex_moe.py → vllm model_executor/models/ +# These provide the fused GDN prefill kernel and MoE pipeline that competitor 168 had +if [ -f "/workspace/ex_engine/python/corex_gdn.py" ]; then + cp "/workspace/ex_engine/python/corex_gdn.py" "$VLLM/model_executor/models/corex_gdn.py" 2>/dev/null || true + cp "/workspace/ex_engine/python/corex_moe.py" "$VLLM/model_executor/models/corex_moe.py" 2>/dev/null || true + echo "[patch_ops] Deployed: corex_gdn.py + corex_moe.py → $VLLM/model_executor/models/" + if [ -n "$VLLM2" ]; then + cp "/workspace/ex_engine/python/corex_gdn.py" "$VLLM2/model_executor/models/corex_gdn.py" 2>/dev/null || true + cp "/workspace/ex_engine/python/corex_moe.py" "$VLLM2/model_executor/models/corex_moe.py" 2>/dev/null || true + fi +fi + # Deploy EX Engine Python module + C++ bridge into vllm importable path EX_ENGINE_SRC="/workspace/ex_engine" if [ -d "$EX_ENGINE_SRC/python" ]; then