linux caffe - No se pudo insertar 'nvidia_352':No hay tal dispositivo




install ubuntu (4)

Estoy tratando de ejecutar caffe en Linux Ubuntu . Después de la instalación, ejecuto caffe en gpu y el error es

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)

Mi controlador NVIDIA es 352.41. Instalé 352 y está instalada la última versión.

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.

Mi Ubuntu tiene un controlador NVIDIA 352 y por qué tengo un error como

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

Comprobé si tengo un dispositivo capaz de CUDA como

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)

Tengo un dispositivo compatible con CUDA y ¿por qué me sale el error?

EDIT 1: Sí, mi prueba con ./deviceQuery falló.

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

Revisé en la carpeta dev /, tengo 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

Mi nvcc -V cheque me dio

[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

Entonces mi verificación de versión

[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) 

¿Qué podría estar mal?


Answers

Ahora el problema esta resuelto. Revisé sudo dpkg --list | grep nvidia sudo dpkg --list | grep nvidia Encontré como mi núcleo tiene 352.41, pero el cliente tiene 304.12. Así que hice sudo apt-get remove --purge nvidia-* . Eliminó todos los paquetes. Luego, instale 352.41 como

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

Después de esto

$ 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

Ahora la versión coincide. Luego ./deviceQuery y todo funciona como se espera. Gracias


Yo también tuve este problema. Las respuestas anteriores no funcionaron para mí. Cuando instalé el último controlador ( nvidia-364 ), funcionó. Comandos para ejecutar:

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

Creo que el problema ocurre cuando tenemos una versión diferente de gcc utilizada para compilar los módulos de controlador y el kernel de Linux.


Tengo este problema también. Y la reinstalación de los controladores de nvidia no resolvió el problema.

Finalmente, resolví este problema agregando dos parámetros de kernel con grub.

añadir:

GRUB_CMDLINE_LINUX_DEFAULT

con:

pci=nocrs pci=realloc

Creo que esto es una colisión entre cuda7.5 y kernel3.19 .


Según tengo entendido, ya ha habilitado la opción VT-x en BIOS. Eso es bueno. Debido a que tiene Linux como sistema operativo, ahora necesita instalar y configurar KVM.

Instrucciones: https://software.intel.com/en-us/blogs/2012/03/12/how-to-start-intel-hardware-assisted-virtualization-hypervisor-on-linux-to-speed-up-intel-android-x86-emulator

Instalación KVM

Me referí a las instrucciones de la página de documentación de la comunidad de Ubuntu. para instalar KVM. Para ver si su procesador es compatible con la virtualización de hardware, puede revisar la salida de este comando:

$ egrep -c '(vmx|svm)' /proc/cpuinfo

Si la salida es 0, significa que su CPU no admite la virtualización de hardware.

Lo siguiente es instalar el comprobador de CPU:

$ sudo apt-get install cpu-checker

Ahora puedes verificar si tu cpu soporta kvm:

$ sudo kvm-ok

e inserte la contraseña de root

Si tú ves:

"INFO: Su CPU admite extensiones KVM Se puede usar la aceleración KVM"

Esto significa que puede ejecutar su máquina virtual más rápido con las extensiones KVM.

Si tú ves:

"INFO: KVM está deshabilitado por su BIOS. SUGERENCIA: ingrese a la configuración de su BIOS y habilite la Tecnología de Virtualización (VT), y luego no se puede usar la aceleración KVM de su sistema"

Debe ir a la configuración del BIOS y habilitar el VT.

Utilice un kernel de 64 bits

Se recomienda ejecutar un kernel de 64 bits en el sistema operativo host, ya que Google ya no ofrece soporte para el kernel de 32 bits. Esto permite el servicio de más de 2 GB de RAM para sus máquinas virtuales. Además, un sistema de 64 bits puede alojar invitados tanto de 32 bits como de 64 bits. Un sistema de 32 bits solo puede alojar invitados de 32 bits. Para ver si su procesador es de 64 bits, puede ejecutar este comando:

$ egrep -c ' lm ' /proc/cpuinfo

Si se imprime 0, significa que su CPU no es de 64 bits. Si es 1 o superior, lo es. Nota: lm significa modo largo que equivale a una CPU de 64 bits. Ahora vea si su kernel en ejecución es de 64 bits, solo ejecute el siguiente comando:

$ uname -m

x86_64 indica un kernel de 64 bits en ejecución. Si ves i386, i486, i586 o i686, estás ejecutando un kernel de 32 bits.

Instalar KVM

Para Ubuntu Lucid (12.04 LTS Precise) o posterior:

$ sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

Si se muestra, puede ignorar la configuración de Postfix a continuación seleccionando "Sin configuración"

Lo siguiente es agregar su cuenta al grupo kvm y libvirtd

$ sudo adduser your_user_name kvm

$ sudo adduser your_user_name libvirtd

Después de la instalación, debe volver a iniciar sesión para que su cuenta de usuario se convierta en un miembro efectivo de los grupos de usuarios kvm y libvirtd. Los miembros de este grupo pueden ejecutar máquinas virtuales.

Verifique la instalación Puede probar si su instalación ha sido exitosa con el siguiente comando:

$ sudo virsh -c qemu:///system list

Espero que ayude.

EDITAR: Como puede estar ejecutando Windows en lugar de Linux, siga las instrucciones en esta publicación: https://software.intel.com/en-us/android/articles/installation-instructions-for-intel-hardware-accelerated-execution-manager-windows





linux ubuntu cuda nvidia caffe