Repository navigation
Description
What happens
On Windows the CUDA backend never initializes. Every GPU command falls back to Vulkan and prints:
CUDA unavailable (CUDA init: the NVRTC library (libnvrtc.so) is not installed; sm_70 needs the CUDA 12.x toolkit/NVRTC (13.x dropped Volta support)), using Vulkan
--backend cuda makes it a hard error instead of a fallback, so there is no way to use CUDA on Windows in this build.
Environment
- RustingStrata v1.2.2 (release binary
rustingstrata-windows-x86_64.exe, Windows 11 x64) - RTX 3060 12 GB, driver 616.56 (no CUDA Toolkit installed, only the driver)
- Model:
Qwen3.6-35B-A3BQ4_K_M GGUF (20.3 GB)
Why I think this is the library name, not a missing install
NVRTC is available and loads fine on this machine:
pip install --target ... nvidia-cuda-nvrtc-cu12providesnvrtc64_120_0.dll+nvrtc-builtins64_129.dllLoadLibrary("E:\\.rustingstrata\\libnvrtc.so")returns a valid handle (the file is a copy ofnvrtc64_120_0.dll), so the DLL and its dependencies loadstrings rustingstrata.execontains only the Linux soname; there is nonvrtc64_*.dllname anywhere in the binary:$ rg -a -o "nvrtc[0-9A-Za-z_.\\-]{0,20}" rustingstrata.exe | sort -u nvrtc nvrtc.so ... libnvrtc.so
That looks like a hardcoded libnvrtc.so in the loader path, which Windows will not resolve to nvrtc64_120_0.dll.
Things I tried (all fail identically)
nvrtc64_120_0.dllandnvrtc-builtins64_129.dllcopied next torustingstrata.exe- Same DLL copied as
libnvrtc.so(and aslibnvrtc.so.dllin case the loader appends an extension) bin/,lib/,lib64/subdirectories next to the exe withlibnvrtc.so- Adding the exe directory to
PATH, and settingCUDA_PATHto the directory that contains the DLL - Full CUDA Toolkit is not installed, so this was tested with the redistributable DLLs from PyPI (12.9, ABI name
nvrtc64_120_0.dll)
Expected
On Windows, the runtime should probe the Windows names (nvrtc64_120_0.dll, nvrtc64_112_0.dll, or the DLLs shipped by the toolkit) and report a clear error only when none of them load. Ideally it also respects CUDA_PATH.
Workaround
--backend vulkan works well on the same machine: 60.7 tok/s decode / 248 tok/s prefill at 512-token prompts, 53.4 / 808 at 4K (Qwen3.6-35B-A3B Q4_K_M, 32K context). So this is only about the CUDA path.
Happy to test a patched build or provide the exact LoadLibrary traces.
Activity
cuda: load NVRTC with our own name list, so Windows finds a CUDA 12.x…
Vasyl-Trefilov commentedon Nov 15, 2026
@dezzezer tysm for report, I think I fixed it and it should work now, so please pull from main and try to run it again, if it fails, just send me the output, but it has to work
Release 1.2.3: chat page redesign, batched serving, EAGLE3 and n-gram…