Skip to content

NVIDIA build falls back to CPU on Blackwell GPUs (RTX 5060 Ti / sm_120) #239

Description

@thcp

Summary

On NVIDIA Blackwell GPUs (RTX 50-series, compute capability 12.0), StemDeck uses the CPU for separation instead of the GPU. The CUDA path is silently falling back to CPU after a failed torch installation or kernel verification.

Reported environment

  • OS: Windows 11 25H2
  • StemDeck: v0.8.0a3 (NVIDIA build)
  • GPU: RTX 5060 Ti 16 GB (Blackwell, sm_120, compute capability 12.0)
  • Install type: binary

Root cause

The setup flow in main.rs (ensure_torch_device) correctly detects Blackwell (cc >= 10) and attempts to install torch==2.7.1+cu128. However, one of the following is likely failing:

  1. Incomplete sm_120 support in early PyTorch 2.7.x cu128 wheels - early builds did not ship compiled kernels for sm_120, so torch.ones(8, device='cuda').synchronize() throws a CUDA kernel error.
  2. Driver too old - Blackwell on Windows requires NVIDIA driver >= 570 for CUDA 12.8. If the driver is older, the cu128 wheel loads but the kernel call fails.
  3. Silent pip timeout / download failure - the 20-minute timeout in install_cuda_torch may expire without a visible error.

In all cases the fallback in ensure_torch_device sets torch_device = "cpu" without surfacing a visible error to the user.

Diagnostic steps for affected users

Check logs/setup.log inside the StemDeck app data directory. The exact CUDA install error is logged there.

Likely fix areas

  • Verify that the torch==2.7.1+cu128 wheel actually ships sm_120 kernels (check PyTorch release notes for 2.7.1).
  • Surface a visible warning/notification to the user when the GPU setup fails and CPU fallback is activated, instead of silently continuing.
  • Consider testing against the latest cu128 nightly or 2.7.x patch if 2.7.1 sm_120 support is incomplete.

References

  • desktop/src-tauri/src/main.rs lines 779-811 (GPU detection), 858-893 (wheel tag selection), 1078-1162 (CUDA install), 1165-1185 (verification), 721 (CPU fallback)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions