Repository navigation
[Other] 0.2.1-cuda12 image has no sm_60 engine (P100 restart loop); source Dockerfile's terminal stage lacks git #3503
Description
Area
Docker
Desktop app, Terminal or source?
Docker image (and the source Dockerfile as a workaround)
What happened
docs/DOCKER.md lists GTX 10 (Pascal) / Tesla P100 / V100 for ghcr.io/niko1221/strata:0.2.1-cuda12, but the engine in that image (0.1.46-linux-x86_64-cuda-cuda12) has code for sm_75, sm_86, sm_89 and compute_89 only. On 3x Tesla P100 the container stops at start and restarts in a loop:
No engine for this PC was found in /opt/strata/components: 0.1.46 linux-x86_64-cuda has code for sm_75, sm_86, sm_89, compute_89, this PC's GPU is sm_60, sm_60, sm_60.
[X] The engine in this image does not match this computer's graphics card, or the card is not visible to the container.
strata-feed.json for v0.2.1 agrees: only the Windows cuda12 package (strata-engine-0.1.46-windows-x86_64-cuda-cuda12.tar.gz) lists sm_60 / sm_61 / sm_70; the Linux cuda12 package does not.
Building from source as a workaround hits a second problem: the root Dockerfile's terminal stage installs only python3 ca-certificates, but packaging/package_terminal.py runs git rev-parse HEAD (line 348), so the build fails with FileNotFoundError: [Errno 2] No such file or directory: 'git'. (.git is in .dockerignore, so with git installed the call just returns nothing and the COMMIT file is skipped.)
Workaround that works: build the root Dockerfile with --build-arg CUDA_IMAGE=nvidia/cuda:12.9.1-devel-ubuntu24.04 --build-arg CUDA_ARCHITECTURES=60 --build-arg BUILD_VISION=0, and patch it to
- add
-DSTRATA_EXPERIMENTAL_SM60=ONto the engine's cmake line, - change
--min-driver nvidia=580.65 --variant cuda13to--min-driver nvidia=575.51 --variant cuda12(and the build id /"cuda": "13.0"in BUILD.json to 12.9), - add
gitto the terminal stage'sapt-get install.
That image runs Flash-Next IQ3_S at 256K on 3x P100 fine (0.1.46 engine, ~+12% decode on code vs our 0.1.42 build, same answers).
Smallest steps or command that reproduce it
- On a Linux machine with a Pascal card:
docker run --rm --gpus all -e MODEL=IQ3_S ghcr.io/niko1221/strata:0.2.1-cuda12 - The container reports the engine/GPU mismatch above and exits.
- For the second issue:
docker build --build-arg CUDA_IMAGE=nvidia/cuda:12.9.1-devel-ubuntu24.04 --build-arg CUDA_ARCHITECTURES=60 .at v0.2.1 fails in[terminal 4/5].
Reproduction status
Reproduces every time
Strata version
0.2.1 (engine 0.1.46)
Graphics card, memory and system
3x Tesla P100 16 GB (PCIe), Ryzen 5 2600, 64 GB DDR4, Ubuntu 24.04, NVIDIA driver 580.178.04, Docker with the NVIDIA Container Toolkit
Model, size and settings
Qwen3.8-Flash-Next IQ3_S, 256K context, pictures off, STRATA_SET="resident-experts kv-resident=32768", GPUS=0,1,2
Possible fix
Build the Linux cuda12 engine package with -DSTRATA_EXPERIMENTAL_SM60=ON and sm_60/61/70 like the Windows one (or narrow the table in docs/DOCKER.md), and add git to the terminal stage of the root Dockerfile.
A small related note: with GPUS=all in the container, the low-RAM resident mode was placed on one card only (GPU 0); naming the cards (GPUS=0,1,2) gave the layer split across all three. That may be intended (#364), but all reading as "the engine's choice" was a surprise.
Activity
github-actions commentedon Oct 20, 2026
Thanks for the issue. To keep the tracker readable, every item needs an area prefix in the title and the parts of the issue form filled in. This one is missing:
Edit the issue (title and description) and this note goes away on its own. If it is still missing parts in 5 days it will be closed, which is not a rejection: fix it and comment
/reopen.Details: CONTRIBUTING.md
[-][Docker] 0.2.1-cuda12 image has no sm_60 engine (P100 restart loop); source Dockerfile's terminal stage lacks git[/-][+][Other] 0.2.1-cuda12 image has no sm_60 engine (P100 restart loop); source Dockerfile's terminal stage lacks git[/+]github-actions commentedon Oct 20, 2026
Thanks, this follows the format now.
Niko1221 commentedon Oct 21, 2026
The Linux cuda12 engine package of 0.2.1 was built without sm_60/61/70 (it had no build recipe in the repo). For 0.2.2, the next release (not out yet): packaging/build_cuda_linux.sh (VARIANT=cuda12) is added, the packager refuses a cuda12 package without Pascal/Volta code, and the source Dockerfile takes CUDA_IMAGE/CUDA_ARCHITECTURES for CUDA 12 and has git in the terminal stage. The published cuda12 image gets fixed when the 0.2.2 release is built with the recipe.
Merge f-022-engfix: #3465 NaN retry reads the prompt batched, #3441/#…
Fix Niko1221#3503: the Linux cuda12 engine package carries sm_60/61/7…
hsntrk commentedon Oct 21, 2026
New evidence after the 0.2.2 fix: the original report noted that
.gitis in.dockerignore. With git now in the terminal stage, the v0.2.2 source build stops at the commit check instead.Problem: Building the root
Dockerfile(the "From source" build in docs/DOCKER.md) fails at v0.2.2 in the terminal stage.Environment: Strata v0.2.2 (011c9e6), Ubuntu 24.04.4 LTS, Docker 29.6.2, RTX 3090 24 GB, driver 595.99.02,
CUDA_ARCHITECTURES=86Reproduce: on a clean checkout of v0.2.2 (
git status --shortshows no changes):I first hit it with
docker compose buildusing the same context and build arg; both fail the same way.Expected: the image builds. v0.2.1.4 built and runs on the same host with the same setup.
Actual:
Cause (git in the terminal stage is visible in the log above; the rest is from reading the source and is consistent with the workaround below):
.dockerignoreexcludes.git, so the packager finds no repository. Since 436fbd0,docker/Dockerfileanddocker/build.shpass the commit (ARG STRATA_COMMIT→ENV STRATA_BUILD_COMMIT), but the rootDockerfilehas no such argument.Workaround: add
ARG STRATA_BUILD_COMMITbefore thepackage_terminal.pyRUN line and build with--build-arg STRATA_BUILD_COMMIT=$(git rev-parse HEAD). Result: passed (build finished, container starts and serves with engine 0.1.47).Reproduction status: reproduced locally (the build failure on a clean checkout, and the workaround).
Merge upstream v0.2.2 into memory-core: the fork rides 0.2.2 (engine …