NVIDIA-SMI не удалось, потому что он не мог связаться с драйвером NVIDIA. Убедитесь, что последний драйвер NVIDIA установлен и работает

23

Я только что установил CUDA в ноутбук, как это:

sudo apt-get install cuda

Как сказано здесь .

Компиляция работает нормально, но когда я пытаюсь запустить, у меня возникает следующая проблема: ошибка CUDA в file.cu:128 code = 35 (cudaErrorInsufficientDriver) "cudaStreamCreate (& (stream [i]))"

Моя версия nvcc:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Tue_Jan_10_13:22:03_CST_2017
Cuda compilation tools, release 8.0, V8.0.61

Информация о видеокарте:

lspci | egrep 'VGA|3D'
00:02.0 VGA compatible controller: Intel Corporation Skylake Integrated Graphics (rev 06)
02:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)

Я также установил VirtualGL, шмель-nvidia, primus, freeglut3-dev. После этого .

Когда я пытаюсь запустить что-то на шмеле, я получаю это: optirun glxspheres64

[   41.413478] [ERROR]Cannot access secondary GPU - error: Could not load GPU driver
[   41.413520] [ERROR]Aborting because fallback start is disabled.

Драйвер NVIDIA не работает.

nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

Похоже, версия nvidia 375 установлена, но я не могу заставить ее работать.

whereis nvidia
nvidia: /usr/lib/nvidia /usr/share/nvidia /usr/src/nvidia-375-375.66/nvidia

И немного информации о водителе.

modinfo nvidia_375
filename:       /lib/modules/4.8.0-54-generic/updates/dkms/nvidia_375.ko
alias:          char-major-195-*
version:        375.66
supported:      external
license:        NVIDIA
srcversion:     68751AFD79A210CEFFB8758
alias:          pci:v000010DEd00000E00sv*sd*bc04sc80i00*
alias:          pci:v000010DEd*sv*sd*bc03sc02i00*
alias:          pci:v000010DEd*sv*sd*bc03sc00i00*
depends:        
vermagic:       4.8.0-54-generic SMP mod_unload modversions 
parm:           NVreg_Mobile:int
parm:           NVreg_ResmanDebugLevel:int
parm:           NVreg_RmLogonRC:int
parm:           NVreg_ModifyDeviceFiles:int
parm:           NVreg_DeviceFileUID:int
parm:           NVreg_DeviceFileGID:int
parm:           NVreg_DeviceFileMode:int
parm:           NVreg_UpdateMemoryTypes:int
parm:           NVreg_InitializeSystemMemoryAllocations:int
parm:           NVreg_UsePageAttributeTable:int
parm:           NVreg_MapRegistersEarly:int
parm:           NVreg_RegisterForACPIEvents:int
parm:           NVreg_CheckPCIConfigSpace:int
parm:           NVreg_EnablePCIeGen3:int
parm:           NVreg_EnableMSI:int
parm:           NVreg_TCEBypassMode:int
parm:           NVreg_UseThreadedInterrupts:int
parm:           NVreg_MemoryPoolSize:int
parm:           NVreg_RegistryDwords:charp
parm:           NVreg_RmMsg:charp
parm:           NVreg_AssignGpus:charp

Я думаю, что это может быть проблема версии драйвера:

dpkg -l | grep nvidia
ii  bumblebee-nvidia                            3.2.1-10                                      amd64        NVIDIA Optimus support using the proprietary NVIDIA driver
ii  nvidia-375                                  375.66-0ubuntu0.16.04.1                       amd64        NVIDIA binary driver - version 375.66
ii  nvidia-375-dev                              375.66-0ubuntu0.16.04.1                       amd64        NVIDIA binary Xorg driver development files
ii  nvidia-modprobe                             375.51-0ubuntu1                               amd64        Load the NVIDIA kernel driver and create device files
ii  nvidia-opencl-icd-375                       375.66-0ubuntu0.16.04.1                       amd64        NVIDIA OpenCL ICD
ii  nvidia-prime                                0.8.2                                         amd64        Tools to enable NVIDIA's Prime

Что мне не хватает?

Родольфо
источник
как вы устанавливаете драйверы?
Чарли Паркер
Столкнулся с той же ошибкой, и ни один из ответов не сработал. Что же работа была простой: $ reboot now.
дартбхирава

Ответы:

14

Если вам nvidia-smiне удалось связаться, но вы установили драйвер так много раз, проверьте prime-select.

  1. Запустите, prime-select queryчтобы получить все возможные варианты. Вы должны увидеть хотя бы nvidia | intel.
  2. Выберите prime-select nvidia.
  3. Если он говорит nvidia is already selected, выберите другой, например prime-select intel, затем переключитесь обратно на nvidiaprime-select nvidia
  4. Перезагрузитесь и проверьте nvidia-smi.
Phuc Le
источник
Помог мне. Благодарность!
Ярослав Шуберт
о, о, prime-select queryдаже не перечислил intel, я думаю, у меня сейчас 2 проблемы ...
Inspi
11

Вы можете установить Cuda Toolkit. Используя следующую команду, чтобы установить его.

sudo apt install nvidia-cuda-toolkit

После завершения установки перезагрузите компьютер. nvidia-smiдолжно сработать.

Джек Чан
источник
работает для меня !!
19
Это работает для меня
Sundeep
5
Это не сработало здесь
Билл Коциас
1
не делайте этого, если у вас есть cuda> = 10. Это понизит вашу cuda до 9, которая в настоящее время доступна в Ubuntu без CUDA PPA.
Лоретопариси
Делая sudo apt-get purge nvidia-*раньше, то вышеупомянутая строка исправила все, что касается CUDA для меня, установила драйвер 430 с CUDA 10.1
Dinari
6

Я отключил Secure Boot, и он работал довольно хорошо.

@ rod-smith ответил на еще один вопрос, более конкретно объясняя, как это сделать, в основном это настройка конфигурации, но он также написал хорошую статью о том, как это сделать, здесь .

Родольфо
источник
2
Это помогло мне с драйвером nvidia 390 также! Я никогда не думал, что это может быть из-за безопасной загрузки,
спасибо
Режим UEFI с отключенной безопасной загрузкой уже сделан здесь. =) Похоже, это работает не для всех, к сожалению.
Ренан Виллиан Прадо
3

поскольку я не могу комментировать ответ @ Rodolfo выше (недостаточно репутации), я добавляю новый ответ.

На моей машине мне пришлось настроить Secure Boot в соответствии с моей ОС. У меня есть материнская плата ASUS под управлением Ubuntu 18.04 и я пытался установить NVIDIA CUDA 10.1 Update 2 с помощью упакованного драйвера NVIDIA. Я столкнулся с той же проблемой, как описано выше. Как оказалось, Secure Boot был установлен в режим Windows UEFI. Изменение на другие ОС исправило это для меня.

Markus
источник
1
Спасибо, мне пришлось отключить, Secure Bootкоторый был автоматически повторно включен во время автоматического обновления Windows / BIOS !!! Теперь nvidia работает нормально.
Билл Коциас
Не могли бы вы объяснить, как вы изменили безопасную загрузку на другие ОС ?
Inspi
1
@BillKotsias спасибо! : D
Марек
1

Для будущих читателей:

Я нахожусь на экземпляре виртуальной машины (Google Cloud Platform)

и я следую этой сути для установки Cudaи CuDNnна моей виртуальной машине.

Я должен был вручную загрузить CuDNnчасть. (Просто выкладываю это там.)

Теперь перейдем к ошибке:

У меня была эта проблема, но полный перезапуск экземпляра сделал свою работу. И под полным перезапуском я имею в виду остановку экземпляра и его повторное включение.

Я надеюсь, что это поможет кому-то.

Прамеш Байрачарья
источник