Не удалось вставить "nvidia_352": нет такого устройства

Я пытаюсь запустить caffe на Linux Ubuntu. После установки я запускаю caffe в gpu и ошибка

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)

Мой драйвер NVIDIA - 352,41. Я установил 352 и установил последнюю версию.

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.

У моего Ubuntu есть драйвер NVIDIA 352 и почему у меня есть ошибка, например

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

Я проверил, есть ли у меня устройство с поддержкой CUDA, например

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)

У меня есть устройство с поддержкой CUDA и почему я получаю сообщение об ошибке?

ИЗМЕНИТЬ 1: Да, мой тест с. /deviceQuery не удался.

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

Я проверил в папке dev/, у меня есть 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

Моя проверка nvcc -V дала мне

[email protected]:/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

Затем моя проверка версии

[email protected]:/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) 

Что может быть неправильным?

Ответы

Ответ 1

Другой способ, который я могу сделать, это установить с помощью файла .run. Это должно убить X-сервер в первую очередь. X сервер убит, как следует.

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.

Затем run.run file as sudo sh xxxxx.run

Вы можете получить ошибку, поскольку The distribution-provided pre-install script failed! Are you sure you want to continue? The distribution-provided pre-install script failed! Are you sure you want to continue? , Затем прервите установку и

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

Затем перезагрузите систему и redo stop X server, enter runlevel 3 and do sudo sh xxxx.run again.

На этот раз вы можете проигнорировать сообщение и продолжить работу с этим сообщением об ошибке. После этого вы сможете установить драйвер Nvidia из файла .run.

Ответ 2

Теперь проблема решена. Я проверил sudo dpkg --list | grep nvidia Я обнаружил, что у моего ядра 352,41, но у клиента 304.12. Поэтому я сделал sudo apt-get remove --purge nvidia-*. Он удалил все пакеты. Затем установите 352.41 как

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

После этого

$ 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 Prime
ii nvidia-settings 355.11-0ubuntu0~gpu14.04.1 amd64 Tool for configuring the NVIDIA graphics driver

Теперь версия соответствует. Затем. /deviceQuery и все работает как ожидалось. Благодаря

Ответ 3

У меня тоже есть эта проблема. И повторная установка драйверов nvidia не решила проблему.

Наконец, я решил эту проблему, добавив два параметра ядра с grub.

добавить:

GRUB_CMDLINE_LINUX_DEFAULT

с:

pci=nocrs pci=realloc

Я думаю, что это столкновение между cuda7.5 и kernel3.19.

Ответ 4

Если вы показываете видео с устройства, отличного от nvidia, но у вас установлен драйвер, вы должны установить его с флагом "--no-opengl-files", чтобы Gnome работал.

Я предлагаю скачать отдельный драйвер и установить его вручную, войдя в консоль:

1. Alt Ctrl F2/f3/f4/f5 to get to console.
2. "init 3"  to kill UI
3. relogin if necessary to console
4. wget http://us.download.nvidia.com/tesla/418.67/NVIDIA-Linux-

драйвер x86_64-418.67.run

5. sh NVIDIA-Linux-x86_64-418.67.run --no-opengl-files
6. After installation - reboot

Ответ 5

У меня также была эта проблема. Вышеуказанные ответы не помогли мне. Когда я установил последний драйвер (nvidia-364), он сработал. Команды для запуска:

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

Я думаю, что проблема возникает, когда у нас есть другая версия gcc, используемая для компиляции модулей драйвера и ядра Linux.