Nie startuje albo nie widzi GPUWindowsLinuxOstatnia aktualizacja 22 czerwca 2026

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

GPU stoi w komputerze, a CUDA twierdzi, że nie ma żadnego urządzenia

Autor Jakub Rusinowski

Błąd

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. 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. 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. 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. 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. 5

    Gdy CUDA już działa, sprawdź, czy model się mieściNajczę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 pasuje do Twojego sprzętugdy GPU jest już wykrywane, sprawdź, które modele zmieszczą się w jego VRAM-ieOtwórz kalkulator VRAM →
Dotyczy także: Linux

Powiązane

Najczęściej zadawane 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.