Start / Poradniki / Rozwiązywanie problemów / Windows

„No CUDA-capable device is detected” — jak to naprawić

WindowsLinux

Autor: Jakub Rusinowski · Ostatnia aktualizacja: 22 czerwca 2026

Edukator AI i prowadzący warsztaty z wdrażania lokalnych modeli LLM

Komunikat błędu

RuntimeError: No CUDA-capable device is detected

Kiedy się pojawia

Twój kod albo środowisko w ogóle nie znajduje GPU — torch.cuda.is_available() zwraca False, a wszystko, co potrzebuje CUDA, poddaje się natychmiast. Karta fizycznie jest, ale stos programowy jej nie widzi.

Co się właściwie dzieje

W przeciwieństwie do błędu braku pamięci ten dotyczy widoczności, nie pojemności. Coś w łańcuchu — sterownik NVIDII, środowisko uruchomieniowe CUDA, build frameworka z obsługą CUDA albo zmienna środowiskowa — jest zepsute lub niedopasowane, więc GPU nigdy nie trafia do twojego procesu. Typowe przyczyny: brakujący lub przestarzały sterownik, instalacja PyTorcha wyłącznie na CPU, CUDA_VISIBLE_DEVICES ustawione na pustą wartość albo praca w kontenerze bez przepuszczonego GPU.

Jak to naprawić

1. Sprawdź, czy sterownik widzi GPU

Zacznij od dołu stosu. nvidia-smi rozmawia bezpośrednio ze sterownikiem — jeśli wypisuje twoją kartę, sterownik jest w porządku, a problem leży wyżej: we frameworku albo w toolkicie. Jeśli samo nvidia-smi zawodzi lub nic nie pokazuje, najpierw zainstaluj albo zaktualizuj sterownik NVIDII; nic powyżej nie zadziała, dopóki to nie działa.

bash
nvidia-smi

2. Zainstaluj build frameworka z obsługą CUDA

Zwykłe pip install torch potrafi ściągnąć wheel tylko na CPU, który nigdy nie zobaczy GPU. Zainstaluj ponownie build CUDA pasujący do twojego sterownika. Po instalacji sprawdź z poziomu Pythona, czy CUDA jest już dostępna.

bash
# example: CUDA 12.1 build of PyTorch
pip install torch --index-url https://download.pytorch.org/whl/cu121

python -c "import torch; print(torch.cuda.is_available())"

3. Sprawdź CUDA_VISIBLE_DEVICES

Jeśli ta zmienna jest ustawiona na pusty ciąg albo na nieistniejący indeks, CUDA ukrywa wszystkie karty. Usuń ją (albo wpisz poprawny indeks) i spróbuj ponownie.

bash
echo $CUDA_VISIBLE_DEVICES   # if empty-string or wrong, fix it:
unset CUDA_VISIBLE_DEVICES

4. W Dockerze przepuść GPU do kontenera

Kontenery domyślnie nie dostają GPU. Potrzebujesz NVIDIA Container Toolkit zainstalowanego na hoście oraz flagi --gpus all przy docker run — inaczej kontener nie zobaczy żadnego urządzenia CUDA.

bash
docker run --gpus all <image>

5. Gdy CUDA już działa, sprawdź, czy model się mieści Najczęstsze rozwiązanie

Kiedy GPU wreszcie staje się widoczne, następną ścianą jest zwykle pamięć — model okazuje się za duży na kartę. Warto załatwić to od razu: sprawdź, który model i która kwantyzacja mieszczą się w twoim VRAM-ie, żeby nie zamienić błędu widoczności na błąd braku pamięci.

Sprawdź, co zmieści się na twoim sprzęcie — gdy GPU jest już wykrywane, sprawdź, które modele zmieszczą się w jego VRAM-ie
Otwórz kalkulator VRAM →

Dotyczy także: Linux

Powiązane

Model, który mieści się na większości zestawów:
Zobacz model i wymagania →

Najczęstsze pytania

Czy „No CUDA-capable device is detected” oznacza usterkę sprzętu?

Rzadko. Prawie zawsze chodzi o oprogramowanie i widoczność: brakujący lub niedopasowany sterownik, build frameworka wyłącznie na CPU albo ustawienie środowiska czy kontenera. Zacznij od nvidia-smi — jeśli on widzi kartę, ze sprzętem wszystko jest w porządku.

`nvidia-smi` działa, a PyTorch dalej nie widzi urządzenia. Dlaczego?

To wskazuje na instalację PyTorcha tylko na CPU albo na złą wersję CUDA. Zainstaluj ponownie build CUDA pasujący do sterownika i sprawdź torch.cuda.is_available() jeszcze raz.

Czy muszę mieć zainstalowany pełny CUDA Toolkit?

Przy większości gotowych frameworków (PyTorch, Ollama, wydania llama.cpp) wystarczy w miarę nowy sterownik NVIDII — środowisko uruchomieniowe CUDA jest w pakiecie. Pełny toolkit jest potrzebny głównie wtedy, gdy sam kompilujesz kod CUDA.