FROM megacube/deepseek-v41:sm121-e47aa780-boot10-cn-v2
ARG WHEEL=b12x-1.3.0-py3-none-any.whl
COPY ${WHEEL} /opt/ref1017/
RUN python3 -m pip install --no-deps --no-index /opt/ref1017/${WHEEL}
COPY roce-overlay/b12x/comm /usr/local/lib/python3.12/dist-packages/b12x/comm
COPY patches/vllm /usr/local/lib/python3.12/dist-packages/vllm
COPY diffs /opt/ref1017/diffs
RUN cd /usr/local/lib/python3.12/dist-packages && for p in /opt/ref1017/diffs/*.diff; do patch --batch --fuzz=0 -p1 < "$p"; done
ENV B12X_ROCE_CACHE_DIR=/opt/b12x-roce/cache
RUN python3 -c "from b12x.comm.roce import _proxy; print(_proxy.load()); from b12x.comm import roce; assert roce.API_VERSION == 1; print('RoCE API',roce.API_VERSION)"
RUN python3 -m compileall -q /usr/local/lib/python3.12/dist-packages/vllm/distributed /usr/local/lib/python3.12/dist-packages/vllm/model_executor/layers/sparse_attn_indexer.py
LABEL megacube.reference.commit="9fa230d3eb119f588e690bf9b87ce41ed902db60" megacube.roce.commit="b58f34eaf978277621efced6678e6713fd7122e4" megacube.reference.lane="native1017-boot1017g"
