Files
project_6/Dockerfile
project6-dev 7185de5eef 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
2026-08-10 10:25:31 +00:00

33 lines
1.4 KiB
Docker

FROM git.modelhub.org.cn:9443/enginex-iluvatar/bi100-3.2.3-x86-ubuntu20.04-py3.10-poc-llm-infer:v1.2.3
RUN mkdir -p /workspace
WORKDIR /workspace/
# Copy all sources
COPY ./qwen3_6_scripts /workspace/qwen3_6_scripts
COPY ./computility-run.yaml /workspace/computility-run.yaml
COPY ./ex_engine /workspace/ex_engine
# Step 1: Build EX Engine .so libraries
RUN chmod +x /workspace/ex_engine/build.sh && \
bash /workspace/ex_engine/build.sh --corex 2>&1 | tee /workspace/ex_build.log ; \
echo "[Dockerfile] ex_engine build exit code: $?"
# Step 2: Precompile MoE CUDA kernels
RUN python3 /workspace/ex_engine/precompile_moe_topk.py 2>&1 | tee -a /workspace/ex_build.log ; \
echo "[Dockerfile] moe_topk precompile exit code: $?"
# Step 3: Precompile vllm v0.5.5 MoE kernels
RUN python3 /workspace/ex_engine/precompile_moe_kernels.py 2>&1 | tee -a /workspace/ex_build.log ; \
echo "[Dockerfile] moe_v055 precompile exit code: $?"
# Step 4: Deploy patches (serving + engine fixes)
RUN chmod +x /workspace/qwen3_6_scripts/patch_ops.sh && \
bash /workspace/qwen3_6_scripts/patch_ops.sh 2>&1 | tee /workspace/patch_ops.log ; \
echo "[Dockerfile] patch_ops exit code: $?"
# Step 5: Precompile GDN kernel (needs vllm in path, so after patch_ops)
RUN python3 /workspace/qwen3_6_scripts/precompile_gdn.py \
/workspace/qwen3_6_scripts/flash_qla_sm70 2>&1 | tee -a /workspace/ex_build.log ; \
echo "[Dockerfile] gdn precompile exit code: $?"