NVIDIA NVML Pilote/bibliothèque incompatibilité de version
Quand je lance nvidia-smi
je reçois le message suivant:
Failed to initialize NVML: Driver/library version mismatch
Y a une heure j'ai reçu le même message et désinstallé mon cuda bibliothèque et j'ai été en mesure d'exécuter nvidia-smi
, d'obtenir le résultat suivant:
Après ce que j'ai téléchargé cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
de l'officiel de NVIDIA page et puis tout simplement:
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}}
Maintenant, j'ai cuda installé, mais j'ai l'mentionnées erreur d'incompatibilité.
Certaines informations pouvant s'avérer utiles:
De course cat /proc/driver/nvidia/version
j'obtiens:
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)
Je suis sur Ubuntu 16.04.2 LTS.
De version du noyau est: 4.4.0-66-générique.
Merci!
- Vous avez probablement mélangé à une précédente runfile installer avec votre (actuel) le gestionnaire de package installer (apt-get). Suivez les instructions dans le cuda linux guide d'installation pour supprimer tous les anciens pilotes NVIDIA et CUDA fichiers, puis de la réinstaller après avoir nettoyé que jusqu'à. Avant de commencer votre réinstaller, vous pouvez lire l'intégralité de l'installation de linux guide de la doc je l'ai lié. Le conflit presque certainement provient de votre tentative d'installer le CUDA 8 GA2 paquet sur le dessus de votre 378.13 d'installation de pilote.
Vous devez vous connecter pour publier un commentaire.
Surprise, Surprise, le redémarrage a résolu le problème (je pensais que j'avais déjà essayé).
La solution Robert Crovella mentionné dans les commentaires peut également être utile à quelqu'un d'autre, car il est assez similaire à ce que j'ai fait pour résoudre le problème la première fois que je l'ai eu.
/var/log/apt/history.log
sur Ubuntu a révélé que le système est automatiquement mis à jour libcuda, qui est sans doute nécessaire de redémarrer pour continuer de fonctionner correctement. Depuis, j'ai désactivé les mises à jour dans l'espoir que je ne vais pas le voir à nouveau./var/log/apt/history.log
. J'utilise centOS, où est ce fichier?nvidia-390
). Voir ma réponse ci-dessousComme @etal dit, le redémarrage résoudre ce problème, mais je pense que d'une procédure sans redémarrage de l'aide.
Pour les Chinois, vérifiez mon blog -> 中文版
Le message d'erreur
nous dire le pilote Nvidia kernel module (kmod) ont une mauvaise version, il faut donc nous décharger de ce pilote, puis de charger la version correcte de kmod
Comment faire ?
Tout d'abord, nous devons savoir quels sont les pilotes chargés.
vous pouvez obtenir
notre objectif final est de décharger
nvidia
mod, donc il nous faut décharger le module dépendentnvidia
puis, déchargez
nvidia
Dépannage
si vous obtenez une erreur comme
rmmod: ERROR: Module nvidia is in use
, ce qui indique que le module du noyau en cours d'utilisation, vous devez tuer le processus à l'aide de la kmod:et ensuite de tuer ces processus, puis continuer à décharger le kmods
Test
confirmer vous réussi à décharger ces kmods
vous devriez obtenir rien, puis confirmez vous pouvez charger le pilote correct
vous devriez obtenir le résultat correct
Aussi ce qui m'est arrivé sur Ubuntu 16.04 à l'aide de la
nvidia-348
paquet (dernière nvidia version sur Ubuntu 16.04).Cependant j'ai pu résoudre le problème en installant
nvidia-390
par le biais de la Propriétaire GPU Pilotes PPA.Donc une solution pour le problème décrit sur Ubuntu 16.04 est cela:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-390
Remarque: Ce guide suppose un nettoyer Ubuntu installer. Si vous avez les pilotes installés un redémarrage mlgh être nécessaire de recharger tous les modules du noyau.
Si j'ai eu ce problème, aucun des autres voies de recours travaillé. Le message d'erreur était opaque, mais la vérification de la commande dmesg a été la clé:
Pourtant j'avais complètement éliminé les 384 version, et enlevé tout le reste des pilotes du noyau
nvidia-384*
. Mais même après le redémarrage, j'étais encore en train de ce. Voyant cela signifie que le noyau était toujours compilé de référence 384, mais a été seulement de trouver de 410. J'ai donc recompilé mon noyau:Et puis il a travaillé.
Après le retrait 384, j'ai toujours eu 384 fichiers dans:
/var/lib/dkms/nvidia-XXX/XXX.AA/4.13.0-43-générique/x86_64/module
/lib/modules/4.13.0-43-generic/kernel/drivers
Je recommande d'utiliser le
locate
de commande (il n'est pas installé par défaut) plutôt que de chercher le système de fichiers à chaque fois.locate nvidia-smi
. J'ai utilisé la commande à comprendre que l'autre pilote a été installé.J'ai obtenu l'erreur
failed to initialize NVML: Driver/Library version mismatch
de ma nvidia gpu-température-indicateur. Et nvidia-smi impossible d'imprimer de l'info. J'ai essayé de trouver si il y avait d'autres versions de pilote nvidia installé dans mon ubuntu. Mais je viens de trouver nvidia-driver-390. En fin de compte,reboot
m'a aidé à résoudre le problème.Y a eu le problème aussi. (Je suis sur ubuntu 18.04)
Ce que j'ai fait:
dpkg -l | grep -i nvidia
Alors
sudo apt-get remove --purge nvidia-381
(et tous en double version, dans mon cas, j'ai eu 381, 384 et 387)Puis
sudo ubuntu-drivers devices
à la liste de ce qui est disponibleEt je choisis
sudo apt install nvidia-driver-430
Après,
nvidia-smi
a donné de bons résultats (pas besoin de redémarrer). Mais je suppose que vous pouvez le redémarrer en cas de doute.J'ai également suivi cette installation réinstaller cuda+cudnn.
Pour mon cas, j'ai installé les pilotes nvidia et puis cuda. J'ai trouvé qu'il peut être résolu en installer cuda. https://developer.nvidia.com/cuda-toolkit