Несоответствие версии драйвера NVIDIA NVML / библиотеки
когда я запускаю nvidia-smi Я получаю следующее сообщение:
Failed to initialize NVML: Driver/library version mismatch
час назад я получил то же сообщение и удалил свою библиотеку cuda, и я смог запустить nvidia-smi, получаем следующий результат:
после этого я скачал cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb С официальная страница NVIDIA а потом просто:
sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
теперь у меня установлен cuda, но я получаю упомянутое несоответствие ошибка.
некоторые потенциально полезные сведения:
под управлением cat /proc/driver/nvidia/version Я:
NVRM version: NVIDIA UNIX x86_64 Kernel Module 378.13 Tue Feb 7 20:10:06 PST 2017
GCC version: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
я запускаю Ubuntu 16.04.2 LTS.
выпуск ядра: 4.4.0-66-generic.
спасибо!
3 ответов:
Сюрприз сюрприз, перезагрузка решила проблему (я думал, что уже пробовал это).
решение Роберт Кровелла, упомянутое в комментариях, также может быть полезно кому-то еще, так как оно очень похоже на то, что я сделал, чтобы решить проблему в первый раз, когда у меня это было.
как сказал @etal, перезагрузка может решить эту проблему, но я думаю, что процедура без перезагрузки поможет.
для китайцев, проверьте мой блог ->中文版
сообщение об ошибке
NVML: несоответствие версии драйвера/библиотеки
скажите нам, что модуль ядра драйвера Nvidia (kmod) имеет неправильную версию, поэтому мы должны выгрузить этот драйвер, а затем загрузить правильную версию kmod
как это сделать ?
во-первых, мы должны знать, какие драйверы загружаются.
lsmod / grep nvidia
вы можете узнать
nvidia_uvm 634880 8 nvidia_drm 53248 0 nvidia_modeset 790528 1 nvidia_drm nvidia 12312576 86 nvidia_modeset,nvidia_uvmнаша конечная цель-разгрузить
nvidiamod, поэтому мы должны выгрузить модуль зависит отnvidiasudo rmmod nvidia_drm
sudo rmmod nvidia_modeset
sudo rmmod nvidia_uvmзатем выгрузить
nvidiasudo rmmod nvidia
устранение неисправностей
если вы получаете сообщение об ошибке, как
rmmod: ERROR: Module nvidia is in use, что указывает на то, что модуль ядра используется, Вы должны убить процесс, который использует kmod:sudo lsof / dev / nvidia*
а затем убить эти процессы, а затем продолжать выгружать kmods
тест
подтвердите, что вы успешно выгрузили эти kmods
lsmod / grep nvidia
вы ничего не должны получить, а затем подтвердите, что вы можете загрузить правильный драйвер
nvidia-smi
вы должны получить правильный вывод
Это также произошло со мной на Ubuntu 16.04 с помощью
nvidia-348пакет (последняя версия nvidia на Ubuntu 16.04).однако я мог бы решить эту проблему, установив
nvidia-390через проприетарные драйверы GPU PPA.таким образом, решение описанной проблемы на Ubuntu 16.04 делает это:
sudo add-apt-repository ppa:graphics-drivers/ppasudo apt-get updatesudo apt-get install nvidia-390Примечание: в этом руководстве предполагает чистую установку Ubuntu. Если у вас установлены предыдущие драйверы, перезагрузка migh необходима для перезагрузки всех модулей ядра.

Comments