linux caffe - Impossibile inserire 'nvidia_352':nessun dispositivo di questo tipo




ubuntu 18.04 (4)

Sto cercando di eseguire caffe su Linux Ubuntu . Dopo l'installazione, eseguo caffe in gpu e l'errore è

I0910 13:28:13.606891 10629 caffe.cpp:296] Use GPU with device ID 0
modprobe: ERROR: could not insert 'nvidia_352': No such device
F0910 13:28:13.728612 10629 common.cpp:142] Check failed: error == cudaSuccess (38 vs. 0)  no CUDA-capable device is detected
*** Check failure stack trace: ***
    @     0x7ffd3b9a7daa  (unknown)
    @     0x7ffd3b9a7ce4  (unknown)
    @     0x7ffd3b9a76e6  (unknown)
    @     0x7ffd3b9aa687  (unknown)
    @     0x7ffd3bf91cb5  caffe::Caffe::SetDevice()
    @           0x40a5a7  time()
    @           0x4080f8  main
    @     0x7ffd3aeb9ec5  (unknown)
    @           0x408618  (unknown)
    @              (nil)  (unknown)
Aborted (core dumped)

Il mio driver NVIDIA è 352.41. Ho installato 352 ed è installato l'ultima versione.

sudo apt-get install nvidia-352[sudo] 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
nvidia-352 is already the newest version.
The following packages were automatically installed and are no longer required:
  account-plugin-windows-live libupstart1
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 31 not upgraded.

La mia Ubuntu ha il driver NVIDIA 352 e perché ho errori come

I0910 13:28:13.606891 10629 caffe.cpp:296] Use GPU with device ID 0
    modprobe: ERROR: could not insert 'nvidia_352': No such device
    F0910 13:28:13.728612 10629 common.cpp:142] Check failed: error == cudaSuccess (38 vs. 0)  no CUDA-capable device is detected

Ho controllato se ho un dispositivo con capacità CUDA come

lspci | grep -i nvidia
05:00.0 VGA compatible controller: NVIDIA Corporation GK107GL [Quadro K2000] (rev a1)
05:00.1 Audio device: NVIDIA Corporation GK107 HDMI Audio Controller (rev a1)

Ho un dispositivo con capacità CUDA e perché ottengo l'errore?

EDIT 1: Sì, il mio test con ./deviceQuery non è riuscito.

../NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release/deviceQuery Starting...

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

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

Ho controllato la cartella dev /, ho nvidia0.

crwxrwxrwx  1 root root    195,   0 Sep 10 16:51 nvidia0
crw-rw-rw-  1 root root    195, 255 Sep 10 16:51 nvidiactl

Il mio controllo nvcc -V mi ha dato

[email protected]-HP-Z420-Workstation:/dev$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2015 NVIDIA Corporation
Built on Tue_Aug_11_14:27:32_CDT_2015
Cuda compilation tools, release 7.5, V7.5.17

Quindi il mio controllo della versione

[email protected]-HP-Z420-Workstation:/dev$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  352.41  Fri Aug 21 23:09:52 PDT 2015
GCC version:  gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04) 

Cosa potrebbe esserci di sbagliato?


Answers

Ho anche questo problema. E reinstallare i driver nvidia non ha risolto il problema.

Infine, ho risolto questo problema aggiungendo due parametri del kernel con grub.

aggiungere:

GRUB_CMDLINE_LINUX_DEFAULT

con:

pci=nocrs pci=realloc

Penso che questa sia una collisione tra cuda7.5 e kernel3.19 .


Ho anche avuto questo problema. Le risposte sopra non hanno funzionato per me. Quando ho installato il driver più recente ( nvidia-364 ), ha funzionato. Comandi da eseguire:

sudo add-apt-repository ppa:xorg-edgers/ppa 
sudo apt-get update 
sudo apt-get install nvidia-364

Penso che il problema si verifichi quando abbiamo una versione diversa di gcc usata per compilare i moduli driver e il kernel Linux.


Ora il problema è risolto. Ho controllato sudo dpkg --list | grep nvidia sudo dpkg --list | grep nvidia Ho trovato che il mio kernel ha 352.41, ma il client ha 304.12. Così ho fatto sudo apt-get remove --purge nvidia-* . Ha rimosso tutti i pacchetti. Quindi, installa 352.41 come

$ sudo add-apt-repository ppa:xorg-edgers/ppa -y
$ sudo apt-get update
$ sudo apt-get install nvidia-352

Dopo di che

$ sudo dpkg --list | grep nvidia
rc nvidia-304 304.128-0ubuntu0~gpu14.04.2 amd64 NVIDIA legacy binary driver - version 304.128
rc nvidia-304-updates 304.125-0ubuntu0.0.2 amd64 NVIDIA legacy binary driver - version 304.125
ii nvidia-352 352.41-0ubuntu0~gpu14.04.1 amd64 NVIDIA binary driver - version 352.41
rc nvidia-opencl-icd-304 304.128-0ubuntu0~gpu14.04.2 amd64 NVIDIA OpenCL ICD
rc nvidia-opencl-icd-304-updates 304.125-0ubuntu0.0.2 amd64 NVIDIA OpenCL ICD
ii nvidia-opencl-icd-352 352.41-0ubuntu0~gpu14.04.1 amd64 NVIDIA OpenCL ICD
ii nvidia-prime 0.6.2 amd64 Tools to enable NVIDIA's Prime
ii nvidia-settings 355.11-0ubuntu0~gpu14.04.1 amd64 Tool for configuring the NVIDIA graphics driver

Ora corrisponde alla versione. Quindi ./deviceQuery e tutto funzionano come previsto. Grazie


Puoi trovare la versione NLTK semplicemente facendo:

In [1]: import nltk

In [2]: nltk.__version__
Out[2]: '3.2.5'

E allo stesso modo per gli scikit-learn,

In [3]: import sklearn

In [4]: sklearn.__version__
Out[4]: '0.19.0'

Sto usando python3 qui.





linux ubuntu cuda nvidia caffe