Files
project_6/ex_engine/deploy_corex_modules.sh
project6-dev 1be9449883 feat(EX): corex_gdn + corex_moe — dlopen dispatch chain from comp 168 log analysis
From 2d5232c5 docker log analysis:
  07-23 (168's docker): corex_gdn.py + corex_moe.py → full fused kernels
  08-07 (our docker): missing both → NaN GDN + PyTorch MoE fallback

corex_gdn.py: GDN fused kernel dispatch
  - FlashQLA .so loading (gdn_forward.cu pre-compiled)
  - PyTorch chunked delta rule with fp32 accum + clamp (no NaN)
  - Decode single-step recurrent with state clamping

corex_moe.py: MoE fused pipeline
  - topk_softmax: replaces MISSING ixf_F.vllm_moe_topk_softmax
  - Per-expert GEMM via torch.matmul (cublas under the hood)
  - ixformer.silu_and_mul for activation when available

DLOPEN_DISPATCH_CHAIN.md: complete .so loading chain map
deploy_corex_modules.sh: wire into VLLM/model_executor/models/
2026-08-10 03:37:15 +00:00

73 lines
2.5 KiB
Bash
Executable File

#!/bin/bash
# deploy_corex_modules.sh — Deploy corex_gdn.py + corex_moe.py into vllm
#
# Competitor 168's Docker had these at:
# $VLLM/model_executor/models/corex_gdn.py
# $VLLM/model_executor/models/corex_moe.py
#
# Our qwen3_5.py already has import fallback for these (lines 117-125):
# from vllm.model_executor.models import corex_gdn as _corex_gdn_module
# from vllm.model_executor.models import corex_moe as _corex_moe_module
#
# This script copies our implementations there so the imports succeed.
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
SRC_DIR="${SCRIPT_DIR}/python"
# Find vllm install path
VLLM_MODELS=""
for candidate in \
/usr/local/corex/lib/python3/dist-packages/vllm/model_executor/models \
/usr/local/corex/lib64/python3/dist-packages/vllm/model_executor/models \
/usr/local/lib/python3.10/site-packages/vllm/model_executor/models \
/workspace/vllm/model_executor/models; do
if [[ -d "$candidate" ]]; then
VLLM_MODELS="$candidate"
break
fi
done
if [[ -z "$VLLM_MODELS" ]]; then
# Try Python detection
VLLM_MODELS=$(python3 -c "
import os, vllm
print(os.path.join(os.path.dirname(vllm.__file__), 'model_executor', 'models'))
" 2>/dev/null || true)
fi
if [[ -z "$VLLM_MODELS" ]] || [[ ! -d "$VLLM_MODELS" ]]; then
echo "[COREX] ERROR: Cannot find vllm models directory"
exit 1
fi
echo "[COREX] Deploying to: $VLLM_MODELS"
# Deploy corex_gdn.py
if [[ ! -f "${VLLM_MODELS}/corex_gdn.py" ]]; then
cp "${SRC_DIR}/corex_gdn.py" "${VLLM_MODELS}/corex_gdn.py"
echo "[COREX] ✓ Deployed corex_gdn.py"
else
echo "[COREX] ✓ corex_gdn.py already exists (base image or prior deploy)"
fi
# Deploy corex_moe.py
if [[ ! -f "${VLLM_MODELS}/corex_moe.py" ]]; then
cp "${SRC_DIR}/corex_moe.py" "${VLLM_MODELS}/corex_moe.py"
echo "[COREX] ✓ Deployed corex_moe.py"
else
echo "[COREX] ✓ corex_moe.py already exists (base image or prior deploy)"
fi
# Also deploy to ex_engine location (backup import path)
mkdir -p /workspace/ex_engine/python 2>/dev/null || true
cp "${SRC_DIR}/corex_gdn.py" /workspace/ex_engine/python/ 2>/dev/null || true
cp "${SRC_DIR}/corex_moe.py" /workspace/ex_engine/python/ 2>/dev/null || true
echo "[COREX] Deploy complete"
echo "[COREX] Expected log on startup:"
echo " corex_gdn.py:NN → Loaded fused CoreX GDN decode operator ..."
echo " corex_gdn.py:NN → Using fused CoreX GDN prefill operator"
echo " corex_moe.py:NN → Using CoreX fused MoE prefill operator: tokens=N, kernel=expert-grouped-wmma"