Windows: CUDA Backend Fails to Initialize RTX 4050 While Vulkan Backend Works

Aperta
#96 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@pskrunner14 ci sta già lavorando.

Dal 31/10/2026.

  • #100 di @pskrunner14 — aperta

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
38/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
cpp
Ambito
backend

Direzione di ricerca

Start by reproducing the Windows CUDA failure with the reported nemo-speech --verbose transcribe command and inspect the ggml_cuda_init initialization path mentioned in the output. Compare the CUDA failure with the working Vulkan run on the same machine; done means the CUDA initialization issue is diagnosed or the Windows build provides useful additional diagnostics.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Version
• Build v0.3.0 (20999cc)
• Tested package: nemo-speech-0.3.0-windows-x86_64-vulkan.zip
• Tested package: nemo-speech-0.3.0-windows-x86_64-cuda.zip

Environment
• OS: Windows 11
• GPU: NVIDIA RTX 4050 Laptop GPU
• NVIDIA Driver: 555.97
• CUDA Version: 12.5

NVIDIA GPU Detection

nvidia-smi -L

GPU 0: NVIDIA GeForce RTX 4050 Laptop GPU
(UUID: GPU-1222eb33-44c3-5916-94dd-37982642f7fa)

Results
• ✅ Vulkan backend initializes successfully
• ✅ Vulkan transcription works
• ✅ Vulkan diarization works
• ✅ AMD Radeon 780M processes inference
• ✅ RTX 4050 is detected by nvidia-smi
• ❌ CUDA backend fails to initialize/run
• ❌ ggml_cuda_init returns (null)

Notes
The Vulkan backend works correctly using the same:
• Model
• Audio file
• Machine
• Build

This suggests the issue is specific to CUDA initialization or device detection rather than the model, audio file, or transcription pipeline.

Vulkan Output
nemo-speech --verbose transcribe audio.wav
--format srt
--model parakeet-tdt-0.6b-v3.q8_0.gguf
--output output.srt

[nemo-speech] transcribe session started
transcribe: model=parakeet-tdt-0.6b-v3.q8_0.gguf inputs=1 concurrency=1 device=0
[asr] model=parakeet-tdt-0.6b-v3.oss-align.q8_0 head=tdt backend=Vulkan0
[asr] mode=offline head=tdt attention=full-context

CUDA Error
transcribe: model=parakeet-tdt-0.6b-v3.q8_0.gguf inputs=1 concurrency=1 device=0
ggml_cuda_init: failed to initialize CUDA: (null)
nemo-speech transcribe: use_gpu=true but no matching GPU device found (gpu_device_idx=0)
[nemo-speech] transcribe session failed (exit code 1)

Expected Behavior
CUDA backend should initialize and run successfully on the RTX 4050, similar to how the Vulkan backend initializes and runs successfully on the AMD Radeon 780M.

Additional Observation

The --verbose flag produces some additional output, such as model and backend information for the Vulkan backend.

According to --help:

--verbose Emit additional diagnostics on stderr

However, during CUDA initialization the diagnostic output remains very limited.

The CUDA backend reports only:
ggml_cuda_init: failed to initialize CUDA: (null)
nemo-speech transcribe: use_gpu=true but no matching GPU device found (gpu_device_idx=0)
[nemo-speech] transcribe session failed (exit code 1)

No further CUDA initialization details or error information are emitted, making it difficult to diagnose the failure.

The NVIDIA GPU is visible to CUDA tooling via nvidia-smi, but the CUDA backend is unable to detect or initialize it.

This may be relevant on hybrid AMD/NVIDIA systems where Vulkan selects the integrated AMD Radeon 780M while CUDA targets the discrete NVIDIA RTX 4050.

Is there a way to enable more detailed CUDA logging or debug telemetry in the Windows builds to help diagnose CUDA initialization failures?

Summary
Vulkan (AMD Radeon 780M): PASS
CUDA (NVIDIA RTX 4050): FAIL

This appears to be a CUDA initialization and/or device detection issue specific to the Windows CUDA build.

Lingua principale
C++
Stelle
207
Fork
47
Merge medio
13h 10m
PR unite (30g)
12

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di NVIDIA/NeMo-Speech.cpp

Tutte le issue di NVIDIA/NeMo-Speech.cpp

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.