build(CRITICAL): complete .so build + deploy pipeline for competition submission

Dockerfile was missing ALL .so compilation steps:
  Step 1: build.sh → ex_factor_0.so (MoE topk), ex_factor_2.so (MoE GEMM), libex_registry.so
  Step 2: precompile_moe_topk.py → moe_topk_softmax_v3.so (CUB BlockReduce)
  Step 3: precompile_moe_kernels.py → moe_ops_v055.so (vllm v0.5.5 MoE kernels)
  Step 4: patch_ops.sh → deploy all Python + .so + serving layer
  Step 5: precompile_gdn.py → flash_qla GDN .so

patch_ops.sh was missing .so deployment:
  Added section 8: Deploy ex_engine package + .so to Python site-packages
  Added section 9: Deploy precompiled MoE .so to site-packages
  Both system path (/usr/local/corex/lib/python3/dist-packages/)
  and vllm path (model_executor/models/ex_engine/) covered

.so inventory for competition:
  - ex_factor_0.so: MoE topk_softmax CUDA kernel (corex clang, ivcore10)
  - ex_factor_2.so: MoE fused GEMM CUDA kernel
  - libex_registry.so: dlopen registry
  - moe_topk_softmax_v3.so: JIT compiled via torch.utils.cpp_extension
  - moe_ops_v055.so: vllm v0.5.5 compatible MoE kernels
  - flash_qla_sm70 GDN .so: GatedDeltaNet fused kernel
This commit is contained in:
project6-dev
2026-08-10 10:25:31 +00:00
parent 70c898ac8b
commit 7185de5eef
2 changed files with 83 additions and 0 deletions

View File

@@ -167,3 +167,66 @@ if [ -d "$_FLASH_SRC" ]; then
fi
echo "[patch_ops] DONE"
# ---- 8. Deploy ex_engine package + compiled .so to Python path ----
_SITE="/usr/local/corex/lib/python3/dist-packages"
if [ -d "$_SITE" ]; then
# Deploy ex_engine as importable package
_EX_DST="$_SITE/ex_engine"
mkdir -p "$_EX_DST/python" "$_EX_DST/build" "$_EX_DST/csrc"
# Python files
cp /workspace/ex_engine/python/*.py "$_EX_DST/python/" 2>/dev/null || true
touch "$_EX_DST/__init__.py"
touch "$_EX_DST/python/__init__.py"
# Compiled .so files from build.sh
if [ -d "/workspace/ex_engine/build" ]; then
cp /workspace/ex_engine/build/*.so "$_EX_DST/build/" 2>/dev/null || true
# Also copy to package root for easy loading
cp /workspace/ex_engine/build/*.so "$_EX_DST/" 2>/dev/null || true
echo "[patch_ops] ex_engine .so files deployed: $(ls /workspace/ex_engine/build/*.so 2>/dev/null | wc -l) files"
fi
# C++ sources for JIT compilation at runtime
cp /workspace/ex_engine/csrc/ix_full_bridge.cpp "$_EX_DST/csrc/" 2>/dev/null || true
cp /workspace/ex_engine/csrc/moe_topk_softmax_v3.cu "$_EX_DST/csrc/" 2>/dev/null || true
if [ -d "/workspace/ex_engine/csrc/moe_v055" ]; then
cp -r /workspace/ex_engine/csrc/moe_v055 "$_EX_DST/csrc/" 2>/dev/null || true
fi
# Also deploy to vllm models dir for import compatibility
_EX_VLLM="$VLLM/model_executor/models/ex_engine"
mkdir -p "$_EX_VLLM/python" "$_EX_VLLM/csrc"
cp /workspace/ex_engine/python/*.py "$_EX_VLLM/python/" 2>/dev/null || true
touch "$_EX_VLLM/__init__.py"
touch "$_EX_VLLM/python/__init__.py"
cp /workspace/ex_engine/csrc/ix_full_bridge.cpp "$_EX_VLLM/csrc/" 2>/dev/null || true
if [ -d "/workspace/ex_engine/build" ]; then
cp /workspace/ex_engine/build/*.so "$_EX_VLLM/" 2>/dev/null || true
fi
echo "[patch_ops] ex_engine deployed to $_SITE and $VLLM"
fi
# ---- 9. Deploy precompiled MoE .so ----
# moe_topk_softmax_v3.so (from precompile_moe_topk.py)
for _SO in /workspace/ex_engine/moe_topk_softmax_v3*.so /tmp/torch_extensions/*/moe_topk_softmax_v3*.so; do
if [ -f "$_SO" ]; then
cp "$_SO" "$_SITE/" 2>/dev/null || true
echo "[patch_ops] MoE topk .so deployed: $(basename $_SO)"
break
fi
done
# moe_v055 kernels .so (from precompile_moe_kernels.py)
for _SO in /workspace/ex_engine/moe_ops_v055*.so /tmp/torch_extensions/*/moe_ops_v055*.so; do
if [ -f "$_SO" ]; then
cp "$_SO" "$_SITE/" 2>/dev/null || true
echo "[patch_ops] MoE v055 .so deployed: $(basename $_SO)"
break
fi
done
echo "[patch_ops] FINAL: all .so and Python packages deployed"
ls -la "$_EX_DST/build/"*.so 2>/dev/null || echo "[patch_ops] WARNING: no .so in ex_engine/build/"