2026-09-16 03:42:17 UTC
11 GB
gfx942;gfx950
CCACHE_COMPILERCHECKcontent
CCACHE_DIR/root/.cache/ccache
DEBIAN_FRONTENDnoninteractive
HIP_FORCE_DEV_KERNARG1
HSA_ENABLE_IPC_MODE_LEGACY1
HSA_NO_SCRATCH_RECLAIM1
KINETO_CONFIG/app/libkineto.conf
LANGen_US.UTF-8
LANGUAGEen_US:en
LC_ALLen_US.UTF-8
LD_LIBRARY_PATH/opt/rocm/lib:/usr/local/lib:
MAX_JOBS16
MORI_GPU_ARCHSgfx942;gfx950
PATH/opt/rocm/llvm/bin:/opt/rocm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PIP_DISABLE_PIP_VERSION_CHECK1
PIP_NO_CACHE_DIR1
PIP_ROOT_USER_ACTIONignore
PYTHON_VERSION3.12
PYTORCH_ROCM_ARCHgfx90a;gfx942;gfx950;gfx1100;gfx1101;gfx1200;gfx1201;gfx1150;gfx1151
RAY_EXPERIMENTAL_NOSET_HIP_VISIBLE_DEVICES1
RAY_EXPERIMENTAL_NOSET_ROCR_VISIBLE_DEVICES1
ROCM_ARCHS ROCM_HOME/opt/rocm
ROCM_PATH/opt/rocm
ROCM_VERSION7.2.3
RUNAI_STREAMER_LOG_LEVELINFO
RUNAI_STREAMER_LOG_TO_STDERR1
RUNAI_STREAMER_MEMORY_LIMIT0
SAFETENSORS_FAST_GPU1
SCCACHE_BUCKET SCCACHE_ENDPOINT SCCACHE_IDLE_TIMEOUT SCCACHE_REGION SCCACHE_S3_NO_CREDENTIALS TOKENIZERS_PARALLELISMfalse
UV_HTTP_TIMEOUT500
UV_INDEX_STRATEGYunsafe-best-match
UV_LINK_MODEcopy
UV_NO_CACHE1
UV_PRERELEASEallow
UV_SKIP_WHEEL_FILENAME_CHECK1
UV_SYSTEM_PYTHON1
VLLM_TORCH_ROCM_VERSION7.2.3
VLLM_TORCH_VERSION2.11.0
VLLM_VERSION0.24.0
[#000] sha256:42041b00303d460a69e53c63f49a4e86fc48dd1149cfc79bf21abcad82ed3f75 - 0.26% (29.2 MB)
[#001] sha256:3a07dcd11d8d11d10b649982a5260f1d1d0cb621b259d64e83609a18424c92a4 - 0.0% (240 Bytes)
[#002] sha256:dfb4312294c51c0e55df65cba239098347fe8385374e918025c1dd3843088e86 - 61.54% (6.76 GB)
[#003] sha256:49f843952c8f760646efc32533b36bebfe542d9bd387ec9cf7b274b6f5ecbd69 - 0.0% (655 Bytes)
[#004] sha256:f962956abdbe32c461cd449183e91089c4c4b4d9fa62a34fc93cc9759abfcf5a - 0.0% (93 Bytes)
[#005] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#006] sha256:db2c61f1f08b7b24f8c63f328e8b268230d36a3a23a0b92f241b3b6a575bbfaf - 1.32% (148 MB)
[#007] sha256:8e0ed450e2c65d4e493fffe942c6d80d3a3d7479f209aa952a36c0597a5a0a3d - 0.59% (66 MB)
[#008] sha256:22863909fc7016f31f6c04f201f50a23fa844197d59cdb01e9baf0de0e73ee44 - 0.04% (4.06 MB)
[#009] sha256:ea60500a06427a654e294d287f86c33161debe1a7c5936bd7ef47c50a384ca89 - 0.08% (9.11 MB)
[#010] sha256:5d617384c1b2236abf1ccaedbbe700caf0c20a41e46ce15b8711108a01fbd5a8 - 0.0% (229 Bytes)
[#011] sha256:24024ea90387d409baa71c0a4bb867e75fe263a9ce5511217e517f26fe706ace - 20.13% (2.21 GB)
[#012] sha256:2241b90363ad071f2de30a4485ea26118f6af247c48c4ff26cceb3613f2cb53d - 0.0% (398 Bytes)
[#013] sha256:96ca1c0eebc7bb4567560ed66011fb5577831c89b29867152481fe8d6a0b007d - 1.25% (141 MB)
[#014] sha256:498906ff243466198eaef7e6680330cdd0c56f410e04ca07915fd17b3d085da1 - 0.0% (92 Bytes)
[#015] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#016] sha256:bc7f2bc34c41ef841116a9953f7b4cb0c16b6646619ae30237157760492bad66 - 0.22% (25 MB)
[#017] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#018] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#019] sha256:0881303773eabe50d2f0d53b4ccdf0e2ee796c0ca5d58d344d98844c115edea6 - 0.14% (15.9 MB)
[#020] sha256:9527279b26dad16a5e428a617cd201ba1f4d50696b983c8782ff6a9fd1231a3f - 0.0% (1.38 KB)
[#021] sha256:af76330ba1423643b8aaf2ee83f51dbad42c013716b93a45e6ebe7dccdc9aa9c - 0.0% (196 Bytes)
[#022] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#023] sha256:e8721c40bf86af86be31aa8773e0be5a644270712493ec28a7f73045bf14a4de - 0.06% (6.73 MB)
[#024] sha256:fba33c47a67c5be54bf13247a8187917df5b77a42460f93368af8aab7cf6a669 - 6.95% (781 MB)
[#025] sha256:3ac9fce88a88356f2cf10bbd4498520e63b53ff33395018cb045ba0cc7646c2c - 0.33% (37.6 MB)
[#026] sha256:dc30599d06d4925fc98be9de8054fed8ff8edf6f8e210ec427dca58daf70b9fe - 0.0% (250 KB)
[#027] sha256:ab3f12b38a724ad629a4a92ce4777f75aef8646703d93e86870d87f342eba000 - 0.0% (258 KB)
[#028] sha256:b51cd5a085ea6892eefa993a619e596074a77101d12457cc559a713abc68be18 - 0.0% (9.13 KB)
[#029] sha256:f4b9dd252cb3baa56e84370ae562df428e46b66c78b9a3d5c216e863050a2ee0 - 0.0% (168 Bytes)
[#030] sha256:56c9be66ef94810f3cebc782042d3660bab4406d8735e71991562e6928ecc2d1 - 0.0% (493 Bytes)
[#031] sha256:864a100d923d3ce41c8a69ba21a74642cd6f510da8bcc521adbdb1169379d631 - 0.78% (87.4 MB)
[#032] sha256:4783b757c91d5cde2f9f004ebe1aa9da494055570d4b7c480e929b43be47889f - 0.59% (66.8 MB)
[#033] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#034] sha256:4b3ac4962ebebccd8c94f790a252e718b126d6311a5930b83336c4757ff673b8 - 0.0% (79.1 KB)
[#035] sha256:c9d9c001d899391f93b0bc13f93f5b4db5f90c7ae3426a2747a5da72c1c0d772 - 1.82% (204 MB)
[#036] sha256:66658655179de023a12b828ac2db54dcdc01e5762582a73735335c8114b27e98 - 0.73% (82.5 MB)
[#037] sha256:5324505c7ede5b969c2289146aa272aa1f3af35091e2ac75b4021488cd864818 - 0.34% (38.1 MB)
[#038] sha256:b060a37dfc6950f9ff23851c641e17968a8c77bae06c4e5ebe663d5cef377bc6 - 2.56% (287 MB)
[#039] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#040] sha256:aa14d93dc9dba1980344f8dbfcb9e76f78a6ea10ee644aef3b71e5be66523971 - 0.0% (11.5 KB)
[#041] sha256:85ba7448085d0a9c5032fbead1e260c3236875a94820519189e0af9c97c31459 - 0.15% (16.5 MB)
[#042] sha256:6d7bd42d6611927e744a742d9aca029a910928e9223188caffa18da143f7a812 - 0.12% (13.4 MB)
/bin/sh -c #(nop) ARG RELEASE
2026-04-10 09:47:41 UTC/bin/sh -c #(nop) ARG LAUNCHPAD_BUILD_ARCH
2026-04-10 09:47:41 UTC/bin/sh -c #(nop) LABEL org.opencontainers.image.version=22.04
2026-04-10 09:47:43 UTC/bin/sh -c #(nop) ADD file:da2cd86408d9354e8bd817c8a4b8635a1d788cd20d0d70061ce02a173e8cf902 in /
2026-04-10 09:47:44 UTC/bin/sh -c #(nop) CMD ["/bin/bash"]
2026-05-05 01:00:42 UTC (buildkit.dockerfile.v0)LABEL maintainer=dl.mlsedevops@amd.com
2026-05-05 01:00:42 UTC (buildkit.dockerfile.v0)ARG ROCM_VERSION=5.3
2026-05-05 01:00:42 UTC (buildkit.dockerfile.v0)ARG AMDGPU_VERSION=5.3
2026-05-05 01:00:42 UTC (buildkit.dockerfile.v0)ARG APT_PREF
2026-05-05 01:00:42 UTC (buildkit.dockerfile.v0)RUN |3 ROCM_VERSION=7.2.3 AMDGPU_VERSION=30.30.3 APT_PREF=Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600 /bin/sh -c echo "$APT_PREF" > /etc/apt/preferences.d/rocm-pin-600 # buildkit
2026-05-05 01:13:45 UTC (buildkit.dockerfile.v0)RUN |3 ROCM_VERSION=7.2.3 AMDGPU_VERSION=30.30.3 APT_PREF=Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600 /bin/sh -c apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates curl libnuma-dev gnupg && curl -sL https://repo.radeon.com/rocm/rocm.gpg.key | apt-key add - && printf "deb [arch=amd64] https://repo.radeon.com/rocm/apt/$ROCM_VERSION/ jammy main" | tee /etc/apt/sources.list.d/rocm.list && printf "deb [arch=amd64] https://repo.radeon.com/amdgpu/$AMDGPU_VERSION/ubuntu jammy main" | tee /etc/apt/sources.list.d/amdgpu.list && apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends sudo libelf1 kmod file python3-dev python3-pip rocm-dev rocm-libs build-essential && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit
2026-05-05 01:13:45 UTC (buildkit.dockerfile.v0)RUN |3 ROCM_VERSION=7.2.3 AMDGPU_VERSION=30.30.3 APT_PREF=Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600 /bin/sh -c groupadd -g 109 render # buildkit
2026-06-12 22:48:08 UTC (buildkit.dockerfile.v0)ENV PATH=/opt/rocm/llvm/bin:/opt/rocm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2026-06-12 22:48:08 UTC (buildkit.dockerfile.v0)ENV ROCM_PATH=/opt/rocm
2026-06-12 22:48:08 UTC (buildkit.dockerfile.v0)ENV LD_LIBRARY_PATH=/opt/rocm/lib:/usr/local/lib:
2026-06-12 22:48:08 UTC (buildkit.dockerfile.v0)ARG PYTORCH_ROCM_ARCH=gfx90a;gfx942;gfx950;gfx1100;gfx1101;gfx1200;gfx1201;gfx1150;gfx1151
2026-06-12 22:48:08 UTC (buildkit.dockerfile.v0)ENV PYTORCH_ROCM_ARCH=gfx90a;gfx942;gfx950;gfx1100;gfx1101;gfx1200;gfx1201;gfx1150;gfx1151
2026-06-12 22:48:08 UTC (buildkit.dockerfile.v0)ENV AITER_ROCM_ARCH=gfx942;gfx950
2026-06-12 22:48:08 UTC (buildkit.dockerfile.v0)ENV MORI_GPU_ARCHS=gfx942;gfx950
2026-06-12 22:48:08 UTC (buildkit.dockerfile.v0)ENV HSA_NO_SCRATCH_RECLAIM=1
2026-06-12 22:48:08 UTC (buildkit.dockerfile.v0)ARG PYTHON_VERSION=3.12
2026-06-12 22:48:08 UTC (buildkit.dockerfile.v0)ENV PYTHON_VERSION=3.12
2026-06-12 22:48:08 UTC (buildkit.dockerfile.v0)RUN |2 PYTORCH_ROCM_ARCH=gfx90a;gfx942;gfx950;gfx1100;gfx1101;gfx1200;gfx1201;gfx1150;gfx1151 PYTHON_VERSION=3.12 /bin/sh -c mkdir -p /app # buildkit
2026-06-12 22:48:08 UTC (buildkit.dockerfile.v0)WORKDIR /app
2026-06-12 22:48:08 UTC (buildkit.dockerfile.v0)ENV DEBIAN_FRONTEND=noninteractive
2026-06-12 22:48:50 UTC (buildkit.dockerfile.v0)RUN |2 PYTORCH_ROCM_ARCH=gfx90a;gfx942;gfx950;gfx1100;gfx1101;gfx1200;gfx1201;gfx1150;gfx1151 PYTHON_VERSION=3.12 /bin/sh -c apt-get update -y && apt-get install -y software-properties-common git curl sudo vim less libgfortran5 libopenmpi-dev libpci-dev liblzma-dev pkg-config && for i in 1 2 3; do add-apt-repository -y ppa:deadsnakes/ppa && break || { echo "Attempt $i failed, retrying in 5s..."; sleep 5; }; done && apt-get update -y && apt-get install -y python${PYTHON_VERSION} python${PYTHON_VERSION}-dev python${PYTHON_VERSION}-venv python${PYTHON_VERSION}-lib2to3 python-is-python3 && update-alternatives --install /usr/bin/python3 python3 /usr/bin/python${PYTHON_VERSION} 1 && update-alternatives --set python3 /usr/bin/python${PYTHON_VERSION} && ln -sf /usr/bin/python${PYTHON_VERSION}-config /usr/bin/python3-config && curl -sS https://bootstrap.pypa.io/get-pip.py | python${PYTHON_VERSION} && python3 --version && python3 -m pip --version # buildkit
2026-06-12 22:48:55 UTC (buildkit.dockerfile.v0)RUN |2 PYTORCH_ROCM_ARCH=gfx90a;gfx942;gfx950;gfx1100;gfx1101;gfx1200;gfx1201;gfx1150;gfx1151 PYTHON_VERSION=3.12 /bin/sh -c pip install -U packaging 'cmake<4' ninja wheel 'setuptools<80' pybind11 Cython # buildkit
2026-06-12 22:49:01 UTC (buildkit.dockerfile.v0)RUN |2 PYTORCH_ROCM_ARCH=gfx90a;gfx942;gfx950;gfx1100;gfx1101;gfx1200;gfx1201;gfx1150;gfx1151 PYTHON_VERSION=3.12 /bin/sh -c apt-get update && apt-get install -y libjpeg-dev libsox-dev libsox-fmt-all sox && rm -rf /var/lib/apt/lists/* # buildkit
2026-06-12 22:49:01 UTC (buildkit.dockerfile.v0)ARG USE_SCCACHE
2026-06-12 22:49:01 UTC (buildkit.dockerfile.v0)ARG SCCACHE_DOWNLOAD_URL
2026-06-12 22:49:01 UTC (buildkit.dockerfile.v0)ARG SCCACHE_ENDPOINT
2026-06-12 22:49:01 UTC (buildkit.dockerfile.v0)ARG SCCACHE_BUCKET_NAME
2026-06-12 22:49:01 UTC (buildkit.dockerfile.v0)ARG SCCACHE_REGION_NAME
2026-06-12 22:49:01 UTC (buildkit.dockerfile.v0)ARG SCCACHE_S3_NO_CREDENTIALS
2026-06-12 22:49:02 UTC (buildkit.dockerfile.v0)RUN |8 PYTORCH_ROCM_ARCH=gfx90a;gfx942;gfx950;gfx1100;gfx1101;gfx1200;gfx1201;gfx1150;gfx1151 PYTHON_VERSION=3.12 USE_SCCACHE=1 SCCACHE_DOWNLOAD_URL= SCCACHE_ENDPOINT= SCCACHE_BUCKET_NAME=vllm-build-sccache SCCACHE_REGION_NAME=us-west-2 SCCACHE_S3_NO_CREDENTIALS=0 /bin/sh -c if [ "$USE_SCCACHE" = "1" ]; then echo "Installing sccache..." && SCCACHE_ARCH="x86_64" && SCCACHE_VERSION="v0.8.1" && SCCACHE_DL_URL="${SCCACHE_DOWNLOAD_URL:-https://github.com/mozilla/sccache/releases/download/${SCCACHE_VERSION}/sccache-${SCCACHE_VERSION}-${SCCACHE_ARCH}-unknown-linux-musl.tar.gz}" && curl -L -o /tmp/sccache.tar.gz ${SCCACHE_DL_URL} && tar -xzf /tmp/sccache.tar.gz -C /tmp && mv /tmp/sccache-${SCCACHE_VERSION}-${SCCACHE_ARCH}-unknown-linux-musl/sccache /usr/bin/sccache && chmod +x /usr/bin/sccache && rm -rf /tmp/sccache.tar.gz /tmp/sccache-${SCCACHE_VERSION}-${SCCACHE_ARCH}-unknown-linux-musl && sccache --version; fi # buildkit
2026-06-12 22:49:03 UTC (buildkit.dockerfile.v0)RUN |8 PYTORCH_ROCM_ARCH=gfx90a;gfx942;gfx950;gfx1100;gfx1101;gfx1200;gfx1201;gfx1150;gfx1151 PYTHON_VERSION=3.12 USE_SCCACHE=1 SCCACHE_DOWNLOAD_URL= SCCACHE_ENDPOINT= SCCACHE_BUCKET_NAME=vllm-build-sccache SCCACHE_REGION_NAME=us-west-2 SCCACHE_S3_NO_CREDENTIALS=0 /bin/sh -c if [ "$USE_SCCACHE" = "1" ]; then echo "Setting up sccache wrappers for HIP compilation..." && mkdir -p /opt/sccache-wrappers && printf '#!/bin/bash\nexec sccache /opt/rocm/lib/llvm/bin/clang++ "$@"\n' > /opt/sccache-wrappers/clang++ && chmod +x /opt/sccache-wrappers/clang++ && printf '#!/bin/bash\nexec sccache /opt/rocm/lib/llvm/bin/clang "$@"\n' > /opt/sccache-wrappers/clang && chmod +x /opt/sccache-wrappers/clang && echo "sccache wrappers created in /opt/sccache-wrappers"; fi # buildkit
2026-06-12 22:49:03 UTC (buildkit.dockerfile.v0)ARG USE_SCCACHE
2026-06-12 22:49:03 UTC (buildkit.dockerfile.v0)ENV SCCACHE_BUCKET=vllm-build-sccache
2026-06-12 22:49:03 UTC (buildkit.dockerfile.v0)ENV SCCACHE_REGION=us-west-2
2026-06-12 22:49:03 UTC (buildkit.dockerfile.v0)ENV SCCACHE_S3_NO_CREDENTIALS=0
2026-06-12 22:49:03 UTC (buildkit.dockerfile.v0)ENV SCCACHE_IDLE_TIMEOUT=0
2026-06-13 02:58:58 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c pip install /install/*.whl # buildkit
2026-06-13 02:58:58 UTC (buildkit.dockerfile.v0)ARG BASE_IMAGE
2026-06-13 02:58:58 UTC (buildkit.dockerfile.v0)ARG TRITON_BRANCH
2026-06-13 02:58:58 UTC (buildkit.dockerfile.v0)ARG TRITON_REPO
2026-06-13 02:58:58 UTC (buildkit.dockerfile.v0)ARG PYTORCH_BRANCH
2026-06-13 02:58:58 UTC (buildkit.dockerfile.v0)ARG PYTORCH_VISION_BRANCH
2026-06-13 02:58:58 UTC (buildkit.dockerfile.v0)ARG PYTORCH_REPO
2026-06-13 02:58:58 UTC (buildkit.dockerfile.v0)ARG PYTORCH_VISION_REPO
2026-06-13 02:58:58 UTC (buildkit.dockerfile.v0)ARG PYTORCH_AUDIO_BRANCH
2026-06-13 02:58:58 UTC (buildkit.dockerfile.v0)ARG PYTORCH_AUDIO_REPO
2026-06-13 02:58:58 UTC (buildkit.dockerfile.v0)ARG FA_BRANCH
2026-06-13 02:58:58 UTC (buildkit.dockerfile.v0)ARG FA_REPO
2026-06-13 02:58:58 UTC (buildkit.dockerfile.v0)ARG AITER_BRANCH
2026-06-13 02:58:58 UTC (buildkit.dockerfile.v0)ARG AITER_REPO
2026-06-13 02:58:58 UTC (buildkit.dockerfile.v0)ARG MORI_BRANCH
2026-06-13 02:58:58 UTC (buildkit.dockerfile.v0)ARG MORI_REPO
2026-06-13 02:58:59 UTC (buildkit.dockerfile.v0)RUN |15 BASE_IMAGE=rocm/dev-ubuntu-22.04:7.2.3-complete TRITON_BRANCH=0f380657 TRITON_REPO=https://github.com/ROCm/triton.git PYTORCH_BRANCH=d0c8b1f3 PYTORCH_VISION_BRANCH=v0.24.1 PYTORCH_REPO=https://github.com/ROCm/pytorch.git PYTORCH_VISION_REPO=https://github.com/pytorch/vision.git PYTORCH_AUDIO_BRANCH=v2.9.0 PYTORCH_AUDIO_REPO=https://github.com/pytorch/audio.git FA_BRANCH=0e60e394 FA_REPO=https://github.com/Dao-AILab/flash-attention.git AITER_BRANCH=v0.1.13.post1 AITER_REPO=https://github.com/ROCm/aiter.git MORI_BRANCH=v1.1.0 MORI_REPO=https://github.com/ROCm/mori.git /bin/sh -c echo "BASE_IMAGE: ${BASE_IMAGE}" > /app/versions.txt && echo "TRITON_BRANCH: ${TRITON_BRANCH}" >> /app/versions.txt && echo "TRITON_REPO: ${TRITON_REPO}" >> /app/versions.txt && echo "PYTORCH_BRANCH: ${PYTORCH_BRANCH}" >> /app/versions.txt && echo "PYTORCH_VISION_BRANCH: ${PYTORCH_VISION_BRANCH}" >> /app/versions.txt && echo "PYTORCH_REPO: ${PYTORCH_REPO}" >> /app/versions.txt && echo "PYTORCH_VISION_REPO: ${PYTORCH_VISION_REPO}" >> /app/versions.txt && echo "PYTORCH_AUDIO_BRANCH: ${PYTORCH_AUDIO_BRANCH}" >> /app/versions.txt && echo "PYTORCH_AUDIO_REPO: ${PYTORCH_AUDIO_REPO}" >> /app/versions.txt && echo "FA_BRANCH: ${FA_BRANCH}" >> /app/versions.txt && echo "FA_REPO: ${FA_REPO}" >> /app/versions.txt && echo "AITER_BRANCH: ${AITER_BRANCH}" >> /app/versions.txt && echo "AITER_REPO: ${AITER_REPO}" >> /app/versions.txt && echo "MORI_BRANCH: ${MORI_BRANCH}" >> /app/versions.txt && echo "MORI_REPO: ${MORI_REPO}" >> /app/versions.txt # buildkit
2026-06-29 08:34:52 UTC (buildkit.dockerfile.v0)ARG ARG_PYTORCH_ROCM_ARCH
2026-06-29 08:34:52 UTC (buildkit.dockerfile.v0)ENV PYTORCH_ROCM_ARCH=gfx90a;gfx942;gfx950;gfx1100;gfx1101;gfx1200;gfx1201;gfx1150;gfx1151
2026-06-29 08:34:52 UTC (buildkit.dockerfile.v0)RUN |1 ARG_PYTORCH_ROCM_ARCH= /bin/sh -c apt-get update -q -y && apt-get install -q -y sqlite3 libsqlite3-dev libfmt-dev libmsgpack-dev libsuitesparse-dev apt-transport-https ca-certificates wget curl libnuma-dev ccache mold # buildkit
2026-06-29 08:34:53 UTC (buildkit.dockerfile.v0)RUN |1 ARG_PYTORCH_ROCM_ARCH= /bin/sh -c python3 -m pip install --upgrade pip # buildkit
2026-06-29 08:34:53 UTC (buildkit.dockerfile.v0)ARG USE_SCCACHE
2026-06-29 08:34:54 UTC (buildkit.dockerfile.v0)RUN |2 ARG_PYTORCH_ROCM_ARCH= USE_SCCACHE=1 /bin/sh -c if [ "$USE_SCCACHE" != "1" ]; then apt-get purge -y sccache || true; python3 -m pip uninstall -y sccache || true; rm -f "$(which sccache)" || true; fi # buildkit
2026-06-29 08:34:56 UTC (buildkit.dockerfile.v0)RUN |2 ARG_PYTORCH_ROCM_ARCH= USE_SCCACHE=1 /bin/sh -c curl -LsSf --retry 3 --retry-delay 5 https://astral.sh/uv/install.sh -o /tmp/uv-install.sh && env UV_INSTALL_DIR="/usr/local/bin" sh /tmp/uv-install.sh && rm -f /tmp/uv-install.sh && uv --version # buildkit
2026-06-29 08:34:56 UTC (buildkit.dockerfile.v0)ENV UV_HTTP_TIMEOUT=500
2026-06-29 08:34:56 UTC (buildkit.dockerfile.v0)ENV UV_INDEX_STRATEGY=unsafe-best-match
2026-06-29 08:34:56 UTC (buildkit.dockerfile.v0)ENV UV_LINK_MODE=copy
2026-06-29 08:34:56 UTC (buildkit.dockerfile.v0)ENV CCACHE_DIR=/root/.cache/ccache
2026-06-29 08:34:56 UTC (buildkit.dockerfile.v0)ENV CCACHE_COMPILERCHECK=content
2026-06-29 08:34:56 UTC (buildkit.dockerfile.v0)ARG max_jobs
2026-06-29 08:34:56 UTC (buildkit.dockerfile.v0)ENV MAX_JOBS=16
2026-06-29 08:34:56 UTC (buildkit.dockerfile.v0)ARG USE_SCCACHE
2026-06-29 08:34:56 UTC (buildkit.dockerfile.v0)ARG SCCACHE_DOWNLOAD_URL
2026-06-29 08:34:56 UTC (buildkit.dockerfile.v0)ARG SCCACHE_ENDPOINT
2026-06-29 08:34:56 UTC (buildkit.dockerfile.v0)ARG SCCACHE_BUCKET_NAME
2026-06-29 08:34:56 UTC (buildkit.dockerfile.v0)ARG SCCACHE_REGION_NAME
2026-06-29 08:34:56 UTC (buildkit.dockerfile.v0)ARG SCCACHE_S3_NO_CREDENTIALS
2026-06-29 08:34:57 UTC (buildkit.dockerfile.v0)RUN |9 ARG_PYTORCH_ROCM_ARCH= USE_SCCACHE=1 max_jobs=16 USE_SCCACHE=1 SCCACHE_DOWNLOAD_URL= SCCACHE_ENDPOINT= SCCACHE_BUCKET_NAME=vllm-build-sccache SCCACHE_REGION_NAME=us-west-2 SCCACHE_S3_NO_CREDENTIALS=0 /bin/sh -c if [ "$USE_SCCACHE" = "1" ]; then if command -v sccache >/dev/null 2>&1; then echo "sccache already installed, skipping installation"; sccache --version; else echo "Installing sccache..." && SCCACHE_ARCH="x86_64" && SCCACHE_VERSION="v0.8.1" && SCCACHE_DL_URL="${SCCACHE_DOWNLOAD_URL:-https://github.com/mozilla/sccache/releases/download/${SCCACHE_VERSION}/sccache-${SCCACHE_VERSION}-${SCCACHE_ARCH}-unknown-linux-musl.tar.gz}" && curl -L -o /tmp/sccache.tar.gz ${SCCACHE_DL_URL} && tar -xzf /tmp/sccache.tar.gz -C /tmp && mv /tmp/sccache-${SCCACHE_VERSION}-${SCCACHE_ARCH}-unknown-linux-musl/sccache /usr/bin/sccache && chmod +x /usr/bin/sccache && rm -rf /tmp/sccache.tar.gz /tmp/sccache-${SCCACHE_VERSION}-${SCCACHE_ARCH}-unknown-linux-musl && sccache --version; fi; fi # buildkit
2026-06-29 08:34:57 UTC (buildkit.dockerfile.v0)ARG USE_SCCACHE
2026-06-29 08:34:57 UTC (buildkit.dockerfile.v0)ENV SCCACHE_BUCKET=vllm-build-sccache
2026-06-29 08:34:57 UTC (buildkit.dockerfile.v0)ENV SCCACHE_REGION=us-west-2
2026-06-29 08:34:57 UTC (buildkit.dockerfile.v0)ENV SCCACHE_S3_NO_CREDENTIALS=0
2026-06-29 08:34:57 UTC (buildkit.dockerfile.v0)ENV SCCACHE_IDLE_TIMEOUT=0
2026-06-29 08:34:57 UTC (buildkit.dockerfile.v0)ARG COMMON_WORKDIR
2026-06-29 08:34:57 UTC (buildkit.dockerfile.v0)WORKDIR /app
2026-06-29 08:34:57 UTC (buildkit.dockerfile.v0)ARG NIC_BACKEND
2026-06-29 08:34:57 UTC (buildkit.dockerfile.v0)ARG AINIC_VERSION
2026-06-29 08:34:57 UTC (buildkit.dockerfile.v0)ARG UBUNTU_CODENAME
2026-06-29 08:35:18 UTC (buildkit.dockerfile.v0)RUN |3 NIC_BACKEND=all AINIC_VERSION=1.117.3-hydra UBUNTU_CODENAME=jammy /bin/sh -c /bin/bash -lc 'set -euo pipefail; install_ainic() { apt-get update && apt-get install -y --no-install-recommends ca-certificates curl gnupg apt-transport-https; rm -rf /var/lib/apt/lists/*; mkdir -p /etc/apt/keyrings; curl -fsSL https://repo.radeon.com/rocm/rocm.gpg.key | gpg --dearmor > /etc/apt/keyrings/amdainic.gpg; echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/amdainic.gpg] https://repo.radeon.com/amdainic/pensando/ubuntu/${AINIC_VERSION} ${UBUNTU_CODENAME} main" > /etc/apt/sources.list.d/amdainic.list; apt-get update && apt-get install -y --no-install-recommends libionic-dev ionic-common ; rm -rf /var/lib/apt/lists/*; }; install_bnxt() { install -m 0755 -d /etc/apt/keyrings; curl -fsSL https://packages.broadcom.com/artifactory/api/security/keypair/PackagesKey/public -o /etc/apt/keyrings/broadcom-nic.asc; chmod a+r /etc/apt/keyrings/broadcom-nic.asc; echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/broadcom-nic.asc] https://packages.broadcom.com/artifactory/ethernet-nic-debian-public jammy main" > /etc/apt/sources.list.d/broadcom-nic.list; apt-get update && apt-get install -y --no-install-recommends bnxt-rocelib=235.2.86.0 ; cp -a /usr/local/lib/x86_64-linux-gnu/libbnxt_re* /usr/local/lib/; ldconfig; rm -rf /var/lib/apt/lists/*; }; echo "[MORI] Install MoRI proxy deps"; pip install --quiet --ignore-installed blinker && pip install --quiet quart msgpack aiohttp pyzmq; echo "[MORI] NIC_BACKEND=${NIC_BACKEND}"; case "${NIC_BACKEND}" in none) ;; all) install_ainic; install_bnxt ;; ainic) install_ainic ;; bnxt) install_bnxt ;; *) echo "ERROR: unknown NIC_BACKEND=${NIC_BACKEND}. Use one of: none, ainic, bnxt, all"; exit 2 ;; esac' # buildkit
2026-06-29 08:35:27 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c python3 -m pip install --upgrade pip && rm -rf /var/lib/apt/lists/* # buildkit
2026-06-29 08:35:28 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c rm -f /usr/bin/sccache || true && rm -rf /opt/sccache-wrappers || true # buildkit
2026-06-29 08:35:28 UTC (buildkit.dockerfile.v0)ENV SCCACHE_BUCKET=
2026-06-29 08:35:28 UTC (buildkit.dockerfile.v0)ENV SCCACHE_REGION=
2026-06-29 08:35:28 UTC (buildkit.dockerfile.v0)ENV SCCACHE_ENDPOINT=
2026-06-29 08:35:28 UTC (buildkit.dockerfile.v0)ENV SCCACHE_S3_NO_CREDENTIALS=
2026-06-29 08:35:28 UTC (buildkit.dockerfile.v0)ENV SCCACHE_IDLE_TIMEOUT=
2026-06-29 08:35:28 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c case "$(which python3)" in *"/opt/conda/envs/py_3.9"*) rm -rf /opt/conda/envs/py_3.9/lib/python3.9/site-packages/numpy-1.20.3.dist-info/;; *) ;; esac # buildkit
2026-06-29 08:35:30 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c uv pip install --system --upgrade huggingface-hub[cli] # buildkit
2026-06-29 08:41:07 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c cd /install && uv pip install --system -r requirements/rocm.txt && pip uninstall -y vllm && uv pip install --system *.whl # buildkit
2026-06-29 08:41:09 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c uv pip install --system /rixl_install/*.whl # buildkit
2026-06-29 08:41:09 UTC (buildkit.dockerfile.v0)ARG COMMON_WORKDIR
2026-06-29 08:41:09 UTC (buildkit.dockerfile.v0)ARG BASE_IMAGE
2026-06-29 08:41:09 UTC (buildkit.dockerfile.v0)ARG NIC_BACKEND
2026-06-29 08:41:09 UTC (buildkit.dockerfile.v0)ARG AINIC_VERSION
2026-06-29 08:41:10 UTC (buildkit.dockerfile.v0)COPY /benchmarks /app/vllm/benchmarks # buildkit
2026-06-29 08:41:10 UTC (buildkit.dockerfile.v0)COPY /examples /app/vllm/examples # buildkit
2026-06-29 08:41:10 UTC (buildkit.dockerfile.v0)COPY /docker /app/vllm/docker # buildkit
2026-06-29 08:41:10 UTC (buildkit.dockerfile.v0)ENV HSA_ENABLE_IPC_MODE_LEGACY=1
2026-06-29 08:41:10 UTC (buildkit.dockerfile.v0)ENV TOKENIZERS_PARALLELISM=false
2026-06-29 08:41:10 UTC (buildkit.dockerfile.v0)ENV SAFETENSORS_FAST_GPU=1
2026-06-29 08:41:10 UTC (buildkit.dockerfile.v0)ENV HIP_FORCE_DEV_KERNARG=1
2026-06-29 08:41:11 UTC (buildkit.dockerfile.v0)RUN |4 COMMON_WORKDIR=/app BASE_IMAGE=public.ecr.aws/q9t5s3a7/vllm-release-repo:99423d0319a1f0ff-rocm-base NIC_BACKEND=all AINIC_VERSION=1.117.3-hydra /bin/sh -c echo "ROCTRACER_MAX_EVENTS=10000000" > ${COMMON_WORKDIR}/libkineto.conf # buildkit
2026-06-29 08:41:11 UTC (buildkit.dockerfile.v0)ENV KINETO_CONFIG=/app/libkineto.conf
2026-06-29 08:41:12 UTC (buildkit.dockerfile.v0)RUN |4 COMMON_WORKDIR=/app BASE_IMAGE=public.ecr.aws/q9t5s3a7/vllm-release-repo:99423d0319a1f0ff-rocm-base NIC_BACKEND=all AINIC_VERSION=1.117.3-hydra /bin/sh -c echo "VLLM_BASE_IMAGE=${BASE_IMAGE}" >> ${COMMON_WORKDIR}/versions.txt && echo "MORI_NIC_BACKEND=${NIC_BACKEND}" >> ${COMMON_WORKDIR}/versions.txt && echo "AINIC_VERSION=${AINIC_VERSION}" >> ${COMMON_WORKDIR}/versions.txt # buildkit
2026-06-29 08:41:12 UTC (buildkit.dockerfile.v0)CMD ["/bin/bash"]
2026-06-29 08:41:12 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["vllm" "serve"]
2026-07-01 03:52:33 UTC (buildkit.dockerfile.v0)SHELL [/bin/bash -eo pipefail -c]
2026-07-01 03:52:33 UTC (buildkit.dockerfile.v0)ARG TARGETPLATFORM=linux/amd64
2026-07-01 03:52:33 UTC (buildkit.dockerfile.v0)ARG TARGETOS=linux
2026-07-01 03:52:33 UTC (buildkit.dockerfile.v0)ARG TARGETARCH=amd64
2026-07-01 03:52:33 UTC (buildkit.dockerfile.v0)ENV DEBIAN_FRONTEND=noninteractive LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
2026-07-01 03:52:33 UTC (buildkit.dockerfile.v0)RUN |3 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 /bin/bash -eo pipefail -c # Tools # Refresh apt-get update -y && apt-get install -y --no-install-recommends \ software-properties-common apt-transport-https \ ca-certificates gnupg2 lsb-release gnupg-agent \ && apt-get update -y # Install apt-get install -y --no-install-recommends \ ca-certificates build-essential binutils bash openssl \ curl wget aria2 \ git git-lfs \ unzip xz-utils \ tzdata locales \ iproute2 iputils-ping ifstat net-tools dnsutils pciutils ipmitool \ rdma-core rdmacm-utils infiniband-diags \ procps sysstat htop \ tini vim jq bc tree # Update locale localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 # Update timezone rm -f /etc/localtime \ && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo "Asia/Shanghai" > /etc/timezone \ && dpkg-reconfigure --frontend noninteractive tzdata # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* \ && rm -rf /var/cache/apt # buildkit
2026-07-01 03:52:43 UTC (buildkit.dockerfile.v0)RUN |3 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 /bin/bash -eo pipefail -c # C Buildkit apt-get install -y --no-install-recommends \ ffmpeg libjpeg-dev libpng-dev libtiff-dev libwebp-dev \ make ninja-build pkg-config ccache # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* \ && rm -rf /var/cache/apt # buildkit
2026-07-01 03:52:43 UTC (buildkit.dockerfile.v0)ARG PYTHON_VERSION=3.12
2026-07-01 03:52:43 UTC (buildkit.dockerfile.v0)ENV PYTHON_VERSION=3.12
2026-07-01 03:52:43 UTC (buildkit.dockerfile.v0)RUN |4 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 /bin/bash -eo pipefail -c # Python # Update alternatives if ! command -v python >/dev/null 2>&1 \ && command -v python${PYTHON_VERSION} >/dev/null 2>&1; then update-alternatives --install /usr/bin/python python $(which python${PYTHON_VERSION}) 1 fi # buildkit
2026-07-01 03:52:43 UTC (buildkit.dockerfile.v0)ENV PIP_NO_CACHE_DIR=1 PIP_DISABLE_PIP_VERSION_CHECK=1 PIP_ROOT_USER_ACTION=ignore
2026-07-01 03:52:44 UTC (buildkit.dockerfile.v0)RUN |4 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 /bin/bash -eo pipefail -c # Buildkit cat <<EOT >/tmp/requirements.txt build EOT pip install -r /tmp/requirements.txt # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit
2026-07-01 03:52:44 UTC (buildkit.dockerfile.v0)ARG ROCM_VERSION=7.2.3
2026-07-01 03:52:44 UTC (buildkit.dockerfile.v0)ARG ROCM_ARCHS
2026-07-01 03:52:44 UTC (buildkit.dockerfile.v0)ENV ROCM_HOME=/opt/rocm ROCM_VERSION=7.2.3 ROCM_ARCHS=
2026-07-01 03:52:44 UTC (buildkit.dockerfile.v0)ENV UV_SYSTEM_PYTHON=1 UV_PRERELEASE=allow UV_SKIP_WHEEL_FILENAME_CHECK=1 UV_NO_CACHE=1 UV_HTTP_TIMEOUT=500 UV_INDEX_STRATEGY=unsafe-best-match
2026-07-01 03:52:44 UTC (buildkit.dockerfile.v0)ARG VLLM_VERSION=0.24.0
2026-07-01 03:52:44 UTC (buildkit.dockerfile.v0)ARG VLLM_TORCH_VERSION=2.11.0
2026-07-01 03:52:44 UTC (buildkit.dockerfile.v0)ARG VLLM_TORCH_ROCM_VERSION=7.2.3
2026-07-01 03:52:44 UTC (buildkit.dockerfile.v0)ENV VLLM_VERSION=0.24.0 VLLM_TORCH_VERSION=2.11.0 VLLM_TORCH_ROCM_VERSION=7.2.3
2026-07-01 03:52:44 UTC (buildkit.dockerfile.v0)SHELL [/bin/bash -eo pipefail -c]
2026-07-01 03:52:44 UTC (buildkit.dockerfile.v0)ARG TARGETPLATFORM=linux/amd64
2026-07-01 03:52:44 UTC (buildkit.dockerfile.v0)ARG TARGETOS=linux
2026-07-01 03:52:44 UTC (buildkit.dockerfile.v0)ARG TARGETARCH=amd64
2026-07-01 03:52:50 UTC (buildkit.dockerfile.v0)RUN |9 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 ROCM_VERSION=7.2.3 ROCM_ARCHS= VLLM_VERSION=0.24.0 VLLM_TORCH_VERSION=2.11.0 VLLM_TORCH_ROCM_VERSION=7.2.3 /bin/bash -eo pipefail -c # Ray # Install Ray Client and Default. # Pinned to 2.54.0: ray 2.55 (ray-project/ray#61029) breaks distributed # ray.init when the driver has no co-located raylet (gpustack split containers). RAY_VERSION=2.54.0 cat <<EOT >/tmp/requirements.txt ray[cgraph]==${RAY_VERSION} ray[client]==${RAY_VERSION} ray[default]==${RAY_VERSION} EOT uv pip install \ -r /tmp/requirements.txt # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit
2026-07-01 04:04:36 UTC (buildkit.dockerfile.v0)RUN |9 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 ROCM_VERSION=7.2.3 ROCM_ARCHS= VLLM_VERSION=0.24.0 VLLM_TORCH_VERSION=2.11.0 VLLM_TORCH_ROCM_VERSION=7.2.3 /bin/bash -eo pipefail -c # LMCache # Install uv pip install --no-build-isolation \ /lmcache/workspace/*.whl # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit
2026-07-01 04:06:17 UTC (buildkit.dockerfile.v0)RUN |9 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 ROCM_VERSION=7.2.3 ROCM_ARCHS= VLLM_VERSION=0.24.0 VLLM_TORCH_VERSION=2.11.0 VLLM_TORCH_ROCM_VERSION=7.2.3 /bin/bash -eo pipefail -c # MoonCake # Install uv pip install --no-build-isolation \ /mooncake/workspace/*.whl # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit
2026-07-01 04:06:25 UTC (buildkit.dockerfile.v0)RUN |9 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 ROCM_VERSION=7.2.3 ROCM_ARCHS= VLLM_VERSION=0.24.0 VLLM_TORCH_VERSION=2.11.0 VLLM_TORCH_ROCM_VERSION=7.2.3 /bin/bash -eo pipefail -c # Omni if [[ ! -d /omni/workspace ]]; then echo "Skipping vLLM Omni installation for ${TARGETARCH}..." exit 0 fi # Install uv pip install --no-build-isolation \ /omni/workspace/*.whl # Dependencies cat <<EOT >/tmp/requirements.txt onnxruntime-rocm sox EOT uv pip install \ -r /tmp/requirements.txt # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit
2026-07-01 04:06:25 UTC (buildkit.dockerfile.v0)RUN |9 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 ROCM_VERSION=7.2.3 ROCM_ARCHS= VLLM_VERSION=0.24.0 VLLM_TORCH_VERSION=2.11.0 VLLM_TORCH_ROCM_VERSION=7.2.3 /bin/bash -eo pipefail -c # Postprocess # Review uv pip tree \ --package vllm \ --package vllm-omni \ --package flash-attn \ --package triton \ --package aiter \ --package torch \ --package lmcache \ --package mooncake-transfer-engine \ --package ray # buildkit
2026-07-01 04:06:27 UTC (buildkit.dockerfile.v0)RUN |9 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 ROCM_VERSION=7.2.3 ROCM_ARCHS= VLLM_VERSION=0.24.0 VLLM_TORCH_VERSION=2.11.0 VLLM_TORCH_ROCM_VERSION=7.2.3 /bin/bash -eo pipefail -c # Patch tree -hs /workspace/patches pushd $(pip show vllm | grep Location: | cut -d" " -f 2) \ && patch -p1 < /workspace/patches/vllm/*.patch if pip show vllm_omni > /dev/null 2>&1; then \ pushd $(pip show vllm_omni | grep Location: | cut -d" " -f 2) \ && patch -p1 < /workspace/patches/vllm_omni/*.patch; \ fi # buildkit
2026-07-01 04:06:28 UTC (buildkit.dockerfile.v0)RUN |9 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 ROCM_VERSION=7.2.3 ROCM_ARCHS= VLLM_VERSION=0.24.0 VLLM_TORCH_VERSION=2.11.0 VLLM_TORCH_ROCM_VERSION=7.2.3 /bin/bash -eo pipefail -c # Dependencies # Install cat <<EOT >/tmp/requirements.txt # audio extras librosa soundfile mistral_common[audio] # petit extras petit-kernel # tokenizer extras fastokens==0.2.0 EOT uv pip install \ -r /tmp/requirements.txt # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit
2026-07-01 04:06:28 UTC (buildkit.dockerfile.v0)ENV RAY_EXPERIMENTAL_NOSET_ROCR_VISIBLE_DEVICES=1 RAY_EXPERIMENTAL_NOSET_HIP_VISIBLE_DEVICES=1 SAFETENSORS_FAST_GPU=1 RUNAI_STREAMER_MEMORY_LIMIT=0 RUNAI_STREAMER_LOG_TO_STDERR=1 RUNAI_STREAMER_LOG_LEVEL=INFO
2026-07-01 04:06:28 UTC (buildkit.dockerfile.v0)WORKDIR /
2026-07-01 04:06:28 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["tini" "--"]
2026-09-16 03:42:17 UTC (buildkit.dockerfile.v0)SHELL [/bin/bash -eo pipefail -c]
2026-09-16 03:42:17 UTC (buildkit.dockerfile.v0)ARG TARGETPLATFORM=linux/amd64
2026-09-16 03:42:17 UTC (buildkit.dockerfile.v0)ARG TARGETOS=linux
2026-09-16 03:42:17 UTC (buildkit.dockerfile.v0)ARG TARGETARCH=amd64
2026-09-16 03:42:17 UTC (buildkit.dockerfile.v0)RUN |3 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 /bin/bash -eo pipefail -c # Give MooncakeConnector the Prometheus registration MultiConnector requires VLLM_DIR="$(python3 -c 'import os, vllm; print(os.path.dirname(vllm.__file__))')" MOONCAKE_DIR="${VLLM_DIR}/distributed/kv_transfer/kv_connector/v1/mooncake" # Refuse to guess at a layout this patch was not written against. test -f "${MOONCAKE_DIR}/stats.py" test -f "${MOONCAKE_DIR}/mooncake_connector.py" # Idempotent: a re-run over an already patched image must not append twice. if grep -q "class MooncakePromMetrics" "${MOONCAKE_DIR}/stats.py"; then echo "[info] MooncakePromMetrics is already present; nothing to append." exit 0 fi cat >>"${MOONCAKE_DIR}/stats.py" <<'PYEOF' from vllm.config import VllmConfig from vllm.distributed.kv_transfer.kv_connector.v1.metrics import ( KVConnectorPromMetrics, PromMetric, PromMetricT, ) from vllm.v1.metrics.utils import create_metric_per_engine class MooncakePromMetrics(KVConnectorPromMetrics): """Prometheus metrics for Mooncake point-to-point KV transfers. Mirrors NixlPromMetrics: the histograms take one observation per recorded transfer, and the counters take a list of 1s, which is the shape MooncakeKVConnectorStats.reset() already produces. The metric names are prefixed `vllm:mooncake_` rather than `vllm:mooncake_store_`, which MooncakeStorePromMetrics owns: the two connectors can be active in the same engine through a MultiConnector, and one namespace for both would merge a direct engine-to-engine transfer with a round trip to the shared store. """ def __init__( self, vllm_config: VllmConfig, metric_types: dict[type[PromMetric], type[PromMetricT]], labelnames: list[str], per_engine_labelvalues: dict[int, list[object]], ): super().__init__(vllm_config, metric_types, labelnames, per_engine_labelvalues) duration_buckets = [ 0.001, 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.2, 0.3, 0.5, 0.75, 1.0, 5.0, ] histogram_xfer_time = self._histogram_cls( name="vllm:mooncake_xfer_time_seconds", documentation="Histogram of transfer duration for Mooncake KV cache transfers.", buckets=duration_buckets, labelnames=labelnames, ) self.histogram_xfer_time = create_metric_per_engine( histogram_xfer_time, self.per_engine_labelvalues ) # Uniform 2KiB to 16GiB range, as NixlPromMetrics uses. byte_buckets = [2 ** (10 + i) for i in range(1, 25, 2)] histogram_bytes_transferred = self._histogram_cls( name="vllm:mooncake_bytes_transferred", documentation="Histogram of bytes transferred per Mooncake KV cache transfer.", buckets=byte_buckets, labelnames=labelnames, ) self.histogram_bytes_transferred = create_metric_per_engine( histogram_bytes_transferred, self.per_engine_labelvalues ) descriptor_buckets = [10, 20, 30, 50, 75, 100, 200, 300, 500, 750, 1000] histogram_num_descriptors = self._histogram_cls( name="vllm:mooncake_num_descriptors", documentation="Histogram of descriptors per Mooncake KV cache transfer.", buckets=descriptor_buckets, labelnames=labelnames, ) self.histogram_num_descriptors = create_metric_per_engine( histogram_num_descriptors, self.per_engine_labelvalues ) counter_num_failed_transfers = self._counter_cls( name="vllm:mooncake_num_failed_transfers", documentation="Number of failed Mooncake KV cache transfers.", labelnames=labelnames, ) self.counter_num_failed_transfers = create_metric_per_engine( counter_num_failed_transfers, self.per_engine_labelvalues ) counter_num_failed_recvs = self._counter_cls( name="vllm:mooncake_num_failed_recvs", documentation="Number of failed Mooncake KV cache receives.", labelnames=labelnames, ) self.counter_num_failed_recvs = create_metric_per_engine( counter_num_failed_recvs, self.per_engine_labelvalues ) counter_num_kv_expired_reqs = self._counter_cls( name="vllm:mooncake_num_kv_expired_reqs", documentation="Number of requests whose Mooncake KV blocks expired.", labelnames=labelnames, ) self.counter_num_kv_expired_reqs = create_metric_per_engine( counter_num_kv_expired_reqs, self.per_engine_labelvalues ) def observe(self, transfer_stats_data: dict[str, Any], engine_idx: int = 0): # A key absent from the payload is skipped rather than raising: the stats # container's key set belongs to the connector and may grow or shrink # between releases, and a metrics path is the wrong place to fail an engine. for prom_obj, key in zip( [ self.histogram_xfer_time, self.histogram_bytes_transferred, self.histogram_num_descriptors, ], ["transfer_duration", "bytes_transferred", "num_descriptors"], ): for list_item in transfer_stats_data.get(key, ()): prom_obj[engine_idx].observe(list_item) for counter_obj, key in zip( [ self.counter_num_failed_transfers, self.counter_num_failed_recvs, self.counter_num_kv_expired_reqs, ], ["num_failed_transfers", "num_failed_recvs", "num_kv_expired_reqs"], ): for list_item in transfer_stats_data.get(key, ()): counter_obj[engine_idx].inc(list_item) PYEOF cat >>"${MOONCAKE_DIR}/mooncake_connector.py" <<'PYEOF' def _build_mooncake_prom_metrics( cls, vllm_config, metric_types, labelnames, per_engine_labelvalues ): # Imported here rather than at module scope: this file already imports from # .stats, and keeping the dependency inside the call leaves the module's # import graph exactly as it was. from vllm.distributed.kv_transfer.kv_connector.v1.mooncake.stats import ( MooncakePromMetrics, ) return MooncakePromMetrics( vllm_config, metric_types, labelnames, per_engine_labelvalues ) # Bound by assignment rather than written into the class body, so that this patch # stays an append and needs no anchor inside a file that differs between releases. MooncakeConnector.build_prom_metrics = classmethod(_build_mooncake_prom_metrics) PYEOF # Assert the patch landed. Both greps are POSITIVE: a negated grep is exempt from # set -e, so the inverted form would pass over a failure. grep -q "class MooncakePromMetrics" "${MOONCAKE_DIR}/stats.py" grep -q "MooncakeConnector.build_prom_metrics = classmethod" "${MOONCAKE_DIR}/mooncake_connector.py" # Import it for real. The greps above prove the text is there; this proves it # parses and that every name it reaches for resolves in this image. python3 -c " from vllm.distributed.kv_transfer.kv_connector.v1.mooncake.stats import MooncakePromMetrics from vllm.distributed.kv_transfer.kv_connector.v1.metrics import KVConnectorPromMetrics assert issubclass(MooncakePromMetrics, KVConnectorPromMetrics) assert MooncakePromMetrics.observe is not KVConnectorPromMetrics.observe print('[info] MooncakePromMetrics imports and overrides observe.') " # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit
2026-09-16 03:42:17 UTC (buildkit.dockerfile.v0)WORKDIR /
2026-09-16 03:42:17 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["tini" "--"]
Please be careful as this will not just delete the reference but also the actual content!
For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.