Start / Poradniki / Rozwiązywanie problemów / Windows
WindowsLinux
Autor: Jakub Rusinowski · Ostatnia aktualizacja: 22 czerwca 2026
Edukator AI i prowadzący warsztaty z wdrażania lokalnych modeli LLM
RuntimeError: No CUDA-capable device is detected
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.
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.
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.
nvidia-smiZwykł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.
# 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())"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.
echo $CUDA_VISIBLE_DEVICES # if empty-string or wrong, fix it:
unset CUDA_VISIBLE_DEVICESKontenery 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.
docker run --gpus all <image>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.
Dotyczy także: Linux
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.
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.
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.