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:
@@ -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` /
|
||||
|
||||
Reference in New Issue
Block a user