From 4ef052007301fad8e2200cd7b1ec7b67779f590e Mon Sep 17 00:00:00 2001 From: Alex Huo Date: Fri, 28 Aug 2026 12:32:18 -0700 Subject: [PATCH] images/gpu: update test images for Blackwell (sm_100/sm_120) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### AI assistance This change was prepared with AI assistance (Claude Code) and is labelled `Assisted-by: Claude Code` in the commit message, per CONTRIBUTING.md. I have reviewed the change and am able to discuss and justify it. ### Problem Several GPU test images pin CUDA versions that predate Blackwell, so they fail on sm_100/sm_120 with `no kernel image is available for execution on the device` -- under `runc` exactly as much as under `runsc`. These tests therefore cannot pass on Blackwell regardless of nvproxy. ### Changes - **vllm**: pinned v0.4.2, whose torch 2.3.0+cu121 compiles for `sm_50..sm_90`. Bumped to v0.27.1 (torch 2.13.0+cu130, built for `sm_75..sm_90`, `sm_100`, `sm_120`), pinned by digest. - **nccl-tests**: CUDA 12.8 is the first toolkit whose nvcc knows the Blackwell arches, and nccl-tests derives its gencode list from the toolkit. The CUDA sample images (`cuda-tests`, `cuda-tests-12-8`) already work on Blackwell unchanged, because the samples embed PTX and the driver JIT-compiles it forward. `stable-diffusion-xl` is deliberately left alone: it installs torch transitively from the default PyPI index rather than a CUDA-specific one, so it needs an explicit `cu128` index plus a compatible `xformers` pin. `pytorch` is handled in a separate follow-up change. ### Verification On an NVIDIA RTX PRO 6000 Blackwell Server Edition (GB202), the upstream vLLM v0.27.1 image serves `facebook/opt-125m` and answers completion requests under both `runc` and `runsc`. --- 🤖 Generated with [Claude Code](https://claude.com/claude-code) FUTURE_COPYBARA_INTEGRATE_REVIEW=https://github.com/google/gvisor/pull/14215 from alexhuo2020:blackwell-test-images bec8194cc6a3c272487340a65e227be6b08bd051 PiperOrigin-RevId: 972731852 --- images/gpu/nccl-tests/Dockerfile | 4 +++- images/gpu/vllm/Dockerfile.x86_64 | 11 ++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/images/gpu/nccl-tests/Dockerfile b/images/gpu/nccl-tests/Dockerfile index 508ac00900d..6dfb3a614d6 100644 --- a/images/gpu/nccl-tests/Dockerfile +++ b/images/gpu/nccl-tests/Dockerfile @@ -1,4 +1,6 @@ -FROM nvidia/cuda:12.5.0-devel-ubuntu22.04 +# CUDA 12.8 is the first toolkit whose nvcc knows the Blackwell arches +# (sm_100/sm_120); nccl-tests derives its gencode list from the toolkit. +FROM nvidia/cuda:12.8.1-devel-ubuntu22.04 RUN apt-get update && apt-get install git -y diff --git a/images/gpu/vllm/Dockerfile.x86_64 b/images/gpu/vllm/Dockerfile.x86_64 index 8cfae01cc94..85dd1e23353 100644 --- a/images/gpu/vllm/Dockerfile.x86_64 +++ b/images/gpu/vllm/Dockerfile.x86_64 @@ -8,10 +8,15 @@ RUN apk add git-lfs && \ rm /opt-125m/tf_model.h5 # post checkout hook. checks that command git lfs is available. RUN GIT_CLONE_PROTECTION_ACTIVE=false git clone https://huggingface.co/datasets/anon8231489123/ShareGPT_Vicuna_unfiltered /dataset -RUN git clone https://github.com/vllm-project/vllm.git /vllm && cd /vllm && git checkout v0.4.2 +RUN git clone https://github.com/vllm-project/vllm.git /vllm && cd /vllm && git checkout v0.27.1 -# v0.4.2 -FROM vllm/vllm-openai@sha256:c63bd9e99c6d5914032b396be38a80fd9640693da62b64b907434d38bf38a8e9 +# v0.27.1. Do not downgrade below this without checking torch's compiled +# arch list: releases before this shipped torch 2.3.0+cu121, whose kernels +# stop at sm_90, so every CUDA op fails on Blackwell (sm_100/sm_120) with +# "no kernel image is available for execution on the device" under any +# runtime. v0.27.1 ships torch 2.13.0+cu130 built for +# ['sm_75','sm_80','sm_86','sm_90','sm_100','sm_120']. +FROM vllm/vllm-openai@sha256:0a51ea5b4ae2dc5d81890e5173f54203d2a3ae0cfffe51b8fd2afd4391bfd967 COPY --from=downloader /vllm/examples/template_chatml.jinja /vllm/examples/template_chatml.jinja COPY --from=downloader /vllm/benchmarks /vllm/benchmarks COPY --from=downloader /opt-125m /model