docs: correct the same sm_120 claim in the troubleshooting guide

Review catch: the code comments were corrected while
docs/install/troubleshooting.md still gave users the false diagnosis in two
places, which is the docs-sync rule exactly. The user-facing wording was the
stronger of the two:

  5b:   "the wheel does not contain code for the GPU" and "no setting works
        around it"
  1052: "This is a property of the pinned build, not of your driver or your
        install"

The second is actively misleading. Since torch 2.8.0+cu128 does list sm_120 in
get_arch_list(), the driver, the platform and the native init path are exactly
where the cause plausibly is, and the doc steered readers away from them.

Both sections now state that the cause is not established, that the pinned
build does contain Blackwell code, and that moving the trio to 2.9.x is the
known workaround for the users who hit it. 5b also gains a get_arch_list()
command so a reader can check their own build instead of trusting a blanket
claim. The fix steps are unchanged.

Also softens the CU128_ARCHS citation in the three comments. That list is
fixture data fed to a mocked torch, captured verbatim from the #1285 report,
so it corroborates the arch list but does not assert what the installed wheel
contains. Saying it "already asserts" overstated it.

Signed-off-by: Moep90 <volleyballlive@googlemail.com>

Signed-off-by: moep90 <volleyballlive@googlemail.com>
This commit is contained in:
moep90
2026-09-14 06:37:01 +02:00
parent 7fe80a5ab8
commit 42acd7d12f
4 changed files with 36 additions and 21 deletions
+29 -15
View File
@@ -255,15 +255,27 @@ ready. The desktop app sits on "starting backend", `/health` returns 503, and
`/startup/progress` shows `ml_imports` active. From source you see `import
torch` die with a native access violation rather than a Python traceback.
**Cause:** VoiceStudio pins `torch 2.8.0`. That build carries no `sm_120`
kernels, so on a Blackwell card the CUDA initializer faults inside the native
library. This is not a VoiceStudio bug and no setting works around it — the
wheel does not contain code for the GPU.
**Cause:** not established. The pinned build is not missing Blackwell code:
`torch 2.8.0+cu128` lists `sm_120` in `torch.cuda.get_arch_list()`, and that
build imports and runs CUDA normally on some Blackwell cards. What is confirmed
is that on the Windows setups in
[#1931](https://github.com/debpalash/VoiceStudio/issues/1931) `import torch`
faults inside the native library before Python can raise an error, and moving
the torch trio to 2.9.x clears it.
**Fix:** move the whole torch trio to a build with `sm_120` kernels. They must
move together — upgrading one past the ABI the others were built against gives
you `RuntimeError: operator torchvision::nms does not exist`, which is the
next section's problem instead.
Check what your own build actually contains before changing any pins:
```bash
uv run python -c "import torch; print(torch.__version__, torch.cuda.get_arch_list())"
```
If `sm_120` is in that list the kernels are present, so the crash is elsewhere
in the native init path. The upgrade below is still the known workaround.
**Fix:** move the whole torch trio to 2.9.x. They must move together —
upgrading one past the ABI the others were built against gives you
`RuntimeError: operator torchvision::nms does not exist`, which is the next
section's problem instead.
Edit **both** pin lists, keeping them identical:
@@ -1055,14 +1067,16 @@ retrying.
and the backend log ends inside the `ml_imports` phase — often with a native
crash (exit code `0xffffffff` / `-1073741819`) rather than a Python traceback.
**Cause.** VoiceStudio pins `torch 2.8.0+cu128`, which ships no `sm_120`
kernels. On an RTX 50-series card `import torch` dies natively, before any
VoiceStudio code can classify it — which is why the app can only say the
backend did not start. This is a property of the pinned build, not of your
driver or your install.
**Cause.** Not established. `torch 2.8.0+cu128` does contain Blackwell code:
`sm_120` is in `torch.cuda.get_arch_list()`, and that build imports and runs
CUDA normally on some Blackwell cards, so this is not simply a wheel without
kernels for your GPU. What is confirmed is that on the Windows setups in
[#1931](https://github.com/debpalash/VoiceStudio/issues/1931) `import torch`
dies natively before any VoiceStudio code can classify it, which is why the app
can only say the backend did not start. Moving to torch 2.9.x clears it for the
users who hit it.
**Fix.** Move to a torch build that has Blackwell kernels. From a source
checkout, in the project folder:
**Fix.** Move to torch 2.9.x. From a source checkout, in the project folder:
1. Edit `pyproject.toml``[tool.uv] constraint-dependencies` and raise the
torch constraint to `torch==2.9.1+cu128` (matching `torchaudio` /