2014-04-14 20 views
9

Niedawno zainstalowałem cuda toolkit 5.5 ze sterownikiem 331.67 (Mam GeForce GTX 680). Z jakiegoś powodu nie można uruchomić dowolny z scrips Test:nie wykryto urządzenia obsługującego CUDA (przy użyciu serwera Ubuntu 12.04.4)

$./NVIDIA_CUDA-5.5_Samples/1_Utilities/deviceQuery/deviceQuery 
./NVIDIA_CUDA-5.5_Samples/1_Utilities/deviceQuery/deviceQuery Starting... 

CUDA Device Query (Runtime API) version (CUDART static linking) 

cudaGetDeviceCount returned 38 
-> no CUDA-capable device is detected 
Result = FAIL 

ja śledził kroki na „podręczny przewodnik” tu

http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux/

i wykonany skrypt, aby utworzyć urządzenie znakowe plików przy starcie (jak używam Ubuntu server edition plików graficznych takie nie są tworzone domyślnie):

$ls -l /dev/nvidia* 
crw-rw-rw- 1 root root 195, 0 Apr 11 17:29 /dev/nvidia0 
crw-rw-rw- 1 root root 195, 255 Apr 11 17:29 /dev/nvidiactl 

wyjście na poleceni g polecenie nvidia-smi -a jest (zarówno dla zwykłego użytkownika, a użytkownik root):

Failed to initialize NVML: Unknown Error 

Oto kilka informacji na module nvidia

$ lsmod | grep nvidia 
nvidia    11335080 0 
$ modinfo nvidia 
filename:  /lib/modules/3.11.0-17-generic/updates/dkms/nvidia.ko 
alias:   char-major-195-* 
version:  331.67 
supported:  external 
license:  NVIDIA 
... 
... 

sugestie? Dzięki.

EDIT # 1 Próbowałem obniżamy do sterownika 319.76:

$ modinfo nvidia 
filename:  /lib/modules/3.11.0-17-generic/updates/dkms/nvidia.ko 
alias:   char-major-195-* 
version:  319.76 
supported:  external 
... 

teraz gdy uruchamiam nvidia-smi -a otrzymuję następujący:

NVIDIA: API mismatch: the NVIDIA kernel module has version 304.116, 
but this NVIDIA driver component has version 319.76. Please make 
sure that the kernel module and all NVIDIA driver components 
have the same version. 
Failed to initialize NVML: Unknown Error 

zainstalowałem pakiety nvidia-current-updates i nvidia-settings-updates od repos przed zainstalowaniem pliku sterownika i wydaje mi się, że właśnie tam powstały konflikty. Nie znalazłem rozwiązania, ale myślę, że jest to o krok bliżej. Oto wynik modprobe -l | grep nvidia

kernel/drivers/video/nvidia/nvidiafb.ko 
kernel/drivers/net/ethernet/nvidia/forcedeth.ko 
updates/dkms/nvidia.ko 
updates/dkms/nvidia_304_updates.k 
+0

jaki jest wynik uruchomienia 'nvidia-smi -a' jako zwykłego użytkownika, a następnie jako użytkownik root? Wklej wyniki do swojego pytania, a nie w komentarzach. –

+0

Jaki jest wynik działania 'nvidia-smi -a'? – cklin

+0

Jeśli 'nvidia-smi -a' pokazuje błąd NVML po uruchomieniu jako root, sterownik nie jest poprawnie załadowany lub nie może znaleźć GPU. Może być konieczne ponowne uruchomienie systemu lub ponowne załadowanie sterownika. Powinieneś również sprawdzić wyjście 'lspci | grep -i nvidia' pokazuje GPU (twój GTX 680) jako obecny. –

Odpowiedz

13

Okazuje się główny błąd byłem spotykając się ze względu na fakt, że istnieje rozbieżność pomiędzy wersją modułu jądra NVIDIA i komponentu kierowcy. Oto kroki, które podjąłem, co pomogło mi znaleźć rozwiązanie.

1) Obalenie sterownika pozwoliło mi zobaczyć, jak nvidia-smi -a narzeka na niedopasowanie komponentów sterownika. Nie byłem pewien, czy to byłby problem. Po prostu podążałem za przewodnikiem konfiguracji zestawu narzędzi CUDA, który nie wspomniał o tym, że jest to problem.

2) Po zainstalowaniu modułów jądra z repozytoriów, właśnie wybrałem odpowiedni komponent sterownika z poprawną wersją. Jeśli nie znasz wersji zainstalowanego modułu jądra, możesz użyć modprobe i modinfo. Na przykład w moim systemie

$ modprobe -l | grep nvidia 
kernel/drivers/video/nvidia/nvidiafb.ko 
kernel/drivers/net/ethernet/nvidia/forcedeth.ko 
updates/dkms/nvidia.ko 
updates/dkms/nvidia_304_updates.ko 

W nvidia_304_updates moduł został zainstalowany z repo (pakiet nvidia-aktualizacje długoterminowe).Jego dokładna wersja z modinfo

$ modinfo /lib/modules/3.11.0-17-generic/updates/dkms/nvidia_304_updates.ko 
filename:  /lib/modules/3.11.0-17-generic/updates/dkms/nvidia_304_updates.ko 
alias:   char-major-195-* 
version:  304.116 
supported:  external 

znaleziono Po pobraniu i zainstalowaniu odpowiedniego komponentu sterownika z archiwum na stronie internetowej firmy NVIDIA

http://www.nvidia.com/Download/Find.aspx?lang=en-us

, udało mi się uruchomić polecenie

$ nvidia-smi -a 

==============NVSMI LOG============== 

Timestamp      : Mon Apr 14 15:17:44 2014 
Driver Version     : 304.116 

Attached GPUs     : 1 
GPU 0000:04:00.0 
    Product Name    : GeForce GTX 680 
... 
... 

I oryginalny skrypt, który próbowałem wykonać:

$ ./deviceQuery 
./deviceQuery Starting... 

CUDA Device Query (Runtime API) version (CUDART static linking) 

Detected 1 CUDA Capable device(s) 

Device 0: "GeForce GTX 680" 
    CUDA Driver Version/Runtime Version   5.0/5.0 
    CUDA Capability Major/Minor version number: 3.0 
    Total amount of global memory:     2047 MBytes (2146762752 bytes) 
    (8) Multiprocessors x (192) CUDA Cores/MP: 1536 CUDA Cores 
    ... 
    ... 
+10

Po prostu jeśli ktoś jeszcze na to natknął: Prosty restart naprawił rzeczy w moim przypadku XD – panmari

+1

@panmari: restart zadziałał jak wdzięk dzięki :) To powinno być odpowiedzią nie myślę, że komentarz. – Kocik

+1

Restart nie działa dla mnie; jednak "sudo nvidia-smi" działało. – Sevenless

Powiązane problemy