web-dev-qa-db-fra.com

Impossible d'insérer 'nvidia_352': aucun périphérique de ce type

J'essaie de lancer caffe sur Linux Ubuntu. Après l'installation, je lance caffe dans gpu et l'erreur est 

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)

Mon pilote NVIDIA est 352.41 . J'ai installé 352 et la dernière version est installée.

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.

Mon Ubuntu a le pilote NVIDIA 352 et pourquoi j'ai une erreur comme

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

J'ai vérifié si j'avais un périphérique compatible CUDA comme

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)

J'ai un périphérique compatible CUDA et pourquoi j'ai l'erreur?

EDIT 1: Ouais, mon test avec ./deviceQuery a échoué.

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

J'ai vérifié dans le dossier dev /, j'ai 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

Mon chèque nvcc -V m'a donné

li@li-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

Puis ma vérification de version

li@li-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) 

Quel pourrait être le problème?

17
batuman

Maintenant, le problème est résolu . J'ai vérifié Sudo dpkg --list | grep nvidia J'ai trouvé que mon noyau a 352.41, mais le client a 304.12 . Donc, j'ai Sudo apt-get remove --purge nvidia-*. Il a supprimé tous les paquets . Ensuite, installez 352.41 en tant que

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

Après ça 

$ 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

Maintenant, la version correspond à . Ensuite, ./deviceQuery et tout fonctionne comme prévu . Merci

11
batuman

J'ai aussi ce problème. Et réinstaller les pilotes nvidia n’a pas résolu le problème. 

Enfin, j'ai résolu ce problème en ajoutant deux paramètres de noyau avec grub.

ajouter à:

GRUB_CMDLINE_LINUX_DEFAULT

avec:

pci=nocrs pci=realloc

Je pense que c'est une collision entre cuda7.5 et kernel3.19.

2
SPWW

Une autre façon de procéder consiste à installer à l’aide du fichier .run le fichier .Il doit d'abord tuer le serveur X . Le serveur X est tué comme suit.

Make sure you are logged out.
Hit CTRL+ALT+F1 and login using your credentials.
kill your current X server session by typing Sudo service lightdm stop or Sudo stop lightdm
Enter runlevel 3 (or 5) by typing Sudo init 3 (or Sudo init 5) and install your .run file.
You might be required to reboot when the installation finishes. If not, run Sudo service start lightdm or Sudo start lightdm to start your X server again.

Alors run .run file as Sudo sh xxxxx.run

Vous pouvez obtenir une erreur en tant que The distribution-provided pre-install script failed! Are you sure you want to continue?. Puis abandonner l'installation et 

disable the "Nouveau kernel driver" as Sudo update-initramfs -u

Puis redémarrez le système et redo stop X server, enter runlevel 3 and do Sudo sh xxxx.run again.

Cette fois, vous pouvez ignorer le message et continuer pour le message d'échec de la prescription . Vous pourrez ensuite installer le pilote Nvidia à partir du fichier .run.

0
batuman