Когда я бегу, 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.
Спасибо!
Ответы:
Сюрприз-сюрприз, перезагрузка решила проблему (я думал, что уже пробовал это).
Решение, упомянутое Робертом Кровеллой в комментариях, также может быть полезным для кого-то еще, поскольку оно очень похоже на то, что я сделал, чтобы решить проблему в первый раз.
источник
/var/log/apt/history.log
Ubuntu показала, что система автоматически обновила libcuda, что, по-видимому, требовало перезагрузки для продолжения работы. С тех пор я отключил эти обновления в надежде, что больше его не увижу.nvidia-390
). Смотрите мой ответ нижеsudo reboot now
а другие нет.Как сказал @etal, перезагрузка может решить эту проблему, но я думаю, что процедура без перезагрузки поможет.
Для китайского, проверьте мой блог -> 中文 版
Сообщение об ошибке
сообщите нам, что модуль ядра драйвера Nvidia (kmod) имеет неправильную версию, поэтому мы должны выгрузить этот драйвер, а затем загрузить правильную версию kmod
Как это сделать ?
Во-первых, мы должны знать, какие драйверы загружены.
вы можете получить
наша конечная цель - выгрузить
nvidia
мод, поэтому мы должны выгрузить модуль в зависимости отnvidia
затем выгрузить
nvidia
Исправление проблем
если вы получаете сообщение об ошибке
rmmod: ERROR: Module nvidia is in use
, которое указывает на то, что модуль ядра используется, вы должны завершить процесс, использующий kmod:а затем убить эти процессы, затем продолжить разгрузку kmods
Тест
подтвердить, что вы успешно разгрузили эти kmods
вы ничего не должны получить, а затем подтвердить, что вы можете загрузить правильный драйвер
вы должны получить правильный вывод
источник
Так что у меня возникла эта проблема, ни одно из других средств не помогло. Сообщение об ошибке было непрозрачным, но проверка dmesg была ключевой:
Однако я полностью удалил версию 384 и удалил все оставшиеся драйверы ядра
nvidia-384*
. Но даже после перезагрузки я все равно получал это. Это означало, что ядро все еще было скомпилировано по ссылке 384, но только находило 410. Поэтому я перекомпилировал свое ядро:И тогда это сработало.
После удаления 384 у меня все еще оставалось 384 файла в /var/lib/dkms/nvidia-XXX/XXX.YY/4.13.0-43-generic/x86_64/module /lib/modules/4.13.0-43-generic/ ядра / драйверы
Я рекомендую использовать
locate
команду (не установлена по умолчанию), а не искать файловую систему каждый раз.источник
locate nvidia-smi
. Я использовал команду, выяснив, что был установлен другой драйвер.uname -r
Мне не помогло.dmesg
выходной:NVRM: API mismatch: the client has the version 418.67, but NVRM: this kernel module has the version 430.26. Please NVRM: make sure that this kernel module and all NVIDIA driver NVRM: components have the same version.
Я получил ошибку
failed to initialize NVML: Driver/Library version mismatch
от моего nvidia-gpu-Temperature-Indicator. И nvidia-smi не удалось напечатать какую-либо информацию. Я попытался найти, были ли другие версии драйвера nvidia, установленные в моем Ubuntu. Но я только что нашел nvidia-driver-390. В конце концов,reboot
помог мне решить проблему.источник
Лучшие 2 ответа не могут решить мою проблему. Я нашел решение на официальном форуме Nvidia, решил мою проблему. Приведенная ниже информация об ошибке может быть вызвана установкой двух разных версий драйвера разными способами. Например, установите драйвер Nvidia с помощью apt и официального установщика.
Чтобы решить эту проблему, нужно выполнить только одну из следующих двух команд.
источник
Это также случилось со мной на Ubuntu 16.04 с использованием
nvidia-348
пакета (последняя версия nvidia на Ubuntu 16.04).Однако я мог бы решить эту проблему, установив с
nvidia-390
помощью проприетарных драйверов графического процессора PPA .Таким образом, решение описанной проблемы в Ubuntu 16.04 заключается в следующем:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-390
Примечание: это руководство предполагает чистую установку Ubuntu. Если у вас установлены предыдущие драйверы, может потребоваться перезагрузка для перезагрузки всех модулей ядра.
источник
Была проблема тоже. (Я использую Ubuntu 18.04)
Что я сделал:
dpkg -l | grep -i nvidia
Затем
sudo apt-get remove --purge nvidia-381
(и каждая дублированная версия, в моем случае у меня было 381, 384 и 387)Затем
sudo ubuntu-drivers devices
перечислить, что доступноИ я выбираю
sudo apt install nvidia-driver-430
После этого
nvidia-smi
выдал правильный вывод (перезагрузка не нужна). Но я полагаю, вы можете перезагрузиться, если сомневаетесь.Я также следовал этой установке, чтобы переустановить cuda + cudnn.
источник
Я столкнулся с этой проблемой после обычного обновления ядра на компьютере с CentOS. Поскольку все драйверы и библиотеки CUDA и nVidia были установлены через репозитории YUM, мне удалось решить проблемы, выполнив следующие действия:
Он убедился, что мое ядро и драйвер nVidia согласованы. Я считаю, что простая перезагрузка может привести к загрузке неправильной версии модуля ядра.
источник
Я должен перезапустить свои ядра и удалить все пакеты, которые я установил ранее (во время первой установки), пожалуйста, убедитесь, что удалили все пакеты, даже после удаления пакетов командой ниже
пакеты типа "libtinfo6: i386" не удаляются
Я использую Ubuntu 20.04 и Nvidia-driver-440, для этого вам нужно удалить все пакеты, показанные ниже
Список всех пакетов, которые необходимо удалить:
как показано на рисунке, убедитесь, что установленный вами пакет имеет правильный размер, равный 207 Мб для Nvidia-driver-440, если он меньше, это означает, что вы удалили не все пакеты.
источник
Я переустановил драйвер nvidia: запустите эти команды в
root
режиме:systemctl isolate multi-user.target
modprobe -r nvidia-drm
Переустановите драйвер Nvidia:
chmod +x NVIDIA-Linux-x86_64–410.57.run
systemctl start graphical.target
и, наконец, проверьте
nvidia-smi
Спасибо: Как установить драйверы Nvidia и CUDA-10.0 для графического процессора RTX 2080 Ti на Ubuntu-16.04 / 18.04
Как выгрузить модуль ядра 'nvidia-drm'?
источник
Для полноты я столкнулся с этим вопросом. В моем случае оказалось, что из-за того, что я установил Clang в качестве компилятора по умолчанию (использующий
update-alternatives
), яnvidia-driver-440
не смог скомпилировать (проверить/var/crash/
), хотяapt
и не публиковал никаких предупреждений. Для меня решение состояло в томapt purge nvidia-*
,cc
чтобы снова включитьgcc
, перезагрузить и переустановитьnvidia-driver-440
.источник
Я передал контейнер в образ докера. Затем я воссоздаю другой контейнер, используя этот образ докера, и проблема исчезла.
источник
Эти ответы не сработали для меня:
https://stackoverflow.com/a/43023000/1179925
https://stackoverflow.com/a/45319156/1179925
https://stackoverflow.com/a/54349675/1179925
dmesg
Удалите старый драйвер
418.67
и установите новый драйвер430.26
(скачатьNVIDIA-Linux-x86_64-430.26.run
):cat /proc/driver/nvidia/version
источник
перезагрузка. Если проблема все еще существует:
для цента / реля
затем
источник
Для моего случая я установил драйвер nvidia, а затем cuda. Я обнаружил, что это можно исправить, просто установив CUDA. https://developer.nvidia.com/cuda-toolkit
источник