Wenn ich renne, nvidia-smi
erhalte ich folgende Meldung:
Failed to initialize NVML: Driver/library version mismatch
Vor einer Stunde erhielt ich dieselbe Nachricht und deinstallierte meine Cuda-Bibliothek. Ich konnte ausgeführt nvidia-smi
werden und das folgende Ergebnis erhalten:
Danach habe ich cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
von der offiziellen NVIDIA-Seite heruntergeladen und dann einfach:
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}}
Jetzt habe ich cuda installiert, aber ich erhalte den erwähnten Fehlanpassungsfehler.
Einige potenziell nützliche Informationen:
Laufen cat /proc/driver/nvidia/version
bekomme ich:
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)
Ich verwende Ubuntu 16.04.2 LTS.
Kernel-Release ist: 4.4.0-66-generic.
Vielen Dank!
Antworten:
Überraschung Überraschung, Neustart löste das Problem (ich dachte, ich hätte das bereits versucht).
Die in den Kommentaren erwähnte Lösung von Robert Crovella kann auch für andere nützlich sein, da sie der Lösung des Problems beim ersten Mal ziemlich ähnlich ist.
quelle
/var/log/apt/history.log
unter Ubuntu ergab, dass das System libcuda automatisch aktualisiert hat, was vermutlich einen Neustart erforderlich machte, um weiterhin ordnungsgemäß zu funktionieren. Ich habe diese Updates seitdem deaktiviert, in der Hoffnung, dass ich sie nicht wieder sehe.nvidia-390
) zu installieren . Siehe meine Antwort untensudo reboot now
und andere nicht.Wie @etal sagte, kann ein Neustart dieses Problem lösen, aber ich denke, ein Verfahren ohne Neustart wird helfen.
Für Chinesisch überprüfen Sie meinen Blog -> 中文 版
Die Fehlermeldung
Sagen Sie uns, dass das Nvidia-Treiber-Kernelmodul (kmod) eine falsche Version hat. Daher sollten wir diesen Treiber entladen und dann die richtige Version von kmod laden
Wie geht das ?
Zuerst sollten wir wissen, welche Treiber geladen sind.
Sie können bekommen
Unser letztes Ziel ist es,
nvidia
Mod zu entladen , also sollten wir das Modul abhängig davon entladennvidia
dann entladen
nvidia
Fehlerbehebung
Wenn Sie einen Fehler wie erhalten
rmmod: ERROR: Module nvidia is in use
, der darauf hinweist, dass das Kernelmodul verwendet wird, sollten Sie den Prozess beenden, der das kmod verwendet:und dann diesen Prozess beenden, dann weiterhin die kmods entladen
Prüfung
Bestätigen Sie, dass Sie diese kmods erfolgreich entladen haben
Sie sollten nichts bekommen und dann bestätigen, dass Sie den richtigen Treiber laden können
Sie sollten die richtige Ausgabe erhalten
quelle
Also hatte ich dieses Problem, keines der anderen Mittel hat funktioniert. Die Fehlermeldung war undurchsichtig, aber die Überprüfung von dmesg war der Schlüssel:
Ich hatte jedoch die 384-Version vollständig entfernt und alle verbleibenden Kerneltreiber entfernt
nvidia-384*
. Aber selbst nach dem Neustart bekam ich das immer noch. Dies zu sehen bedeutete, dass der Kernel immer noch auf Referenz 384 kompiliert wurde, aber nur 410 fand. Also kompilierte ich meinen Kernel neu:Und dann hat es funktioniert.
Nach dem Entfernen von 384 hatte ich noch 384 Dateien in: /var/lib/dkms/nvidia-XXX/XXX.YY/4.13.0-43-generic/x86_64/module /lib/modules/4.13.0-43-generic/ Kernel / Treiber
Ich empfehle, den
locate
Befehl (nicht standardmäßig installiert) zu verwenden, anstatt jedes Mal das Dateisystem zu durchsuchen.quelle
locate nvidia-smi
. Ich habe den Befehl verwendet, um herauszufinden, dass ein anderer Treiber installiert wurde.uname -r
Hat mir nicht geholfen.dmesg
Ausgabe: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.
Ich habe den Fehler
failed to initialize NVML: Driver/Library version mismatch
von meinem NVIDIA-GPU-Temperatur-Indikator erhalten. Und nvidia-smi konnte keine Informationen drucken. Ich habe versucht herauszufinden, ob in meinem Ubuntu andere Versionen des NVIDIA-Treibers installiert sind. Aber ich habe gerade nvidia-driver-390 gefunden. Am Ende hatreboot
mir geholfen, das Problem zu lösen.quelle
Die Top-2-Antworten können mein Problem nicht lösen. Ich habe im offiziellen Nvidia-Forum eine Lösung gefunden, die mein Problem gelöst hat. Die folgenden Fehlerinformationen können dazu führen, dass zwei verschiedene Versionen des Treibers auf unterschiedliche Weise installiert werden. Installieren Sie beispielsweise den Nvidia-Treiber von der apt und dem offiziellen Installationsprogramm.
Um dieses Problem zu lösen, müssen Sie nur einen der beiden folgenden Befehle ausführen.
quelle
Dies ist mir auch unter Ubuntu 16.04 mit dem
nvidia-348
Paket passiert (neueste NVIDIA-Version unter Ubuntu 16.04).Ich könnte das Problem jedoch beheben, indem ich es
nvidia-390
über die PPA für proprietäre GPU-Treiber installiere .Eine Lösung für das beschriebene Problem unter Ubuntu 16.04 lautet also:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-390
Hinweis: In diesem Handbuch wird von einer sauberen Ubuntu-Installation ausgegangen. Wenn Sie frühere Treiber installiert haben, ist möglicherweise ein Neustart erforderlich, um alle Kernelmodule neu zu laden.
quelle
Hatte das Problem auch. (Ich verwende Ubuntu 18.04)
Was ich getan habe:
dpkg -l | grep -i nvidia
Dann
sudo apt-get remove --purge nvidia-381
(und jede doppelte Version, in meinem Fall hatte ich 381, 384 und 387)Dann
sudo ubuntu-drivers devices
auflisten, was verfügbar istUnd ich wähle
sudo apt install nvidia-driver-430
Danach
nvidia-smi
gab die korrekte Ausgabe (kein Neustart erforderlich). Aber ich nehme an, Sie können im Zweifelsfall neu starten.Ich folgte auch dieser Installation , um cuda + cudnn neu zu installieren.
quelle
Dieses Problem trat nach einem normalen Kernel-Update auf einem CentOS-Computer auf. Da alle CUDA- und nVidia-Treiber und -Bibliotheken über YUM-Repositorys installiert wurden, konnte ich die Probleme mithilfe der folgenden Schritte lösen:
Es stellte sicher, dass mein Kernel und mein nVidia-Treiber konsistent sind. Ich gehe davon aus, dass ein Neustart dazu führen kann, dass eine falsche Version des Kernelmoduls geladen wird.
quelle
Ich muss meine Kernel neu starten und alle Pakete entfernen, die ich zuvor installiert habe (während der ersten Installation). Bitte stellen Sie sicher, dass Sie alle Pakete löschen, auch nachdem Sie die Pakete mit dem folgenden Befehl entfernt haben
Pakete wie "libtinfo6: i386" werden nicht entfernt
Ich verwende Ubuntu 20.04 und Nvidia-driver-440, dafür müssen Sie alle unten gezeigten Pakete entfernen
Liste aller Pakete, die entfernt werden müssen:
Stellen Sie wie in der Abbildung gezeigt sicher, dass das von Ihnen installierte Paket die richtige Größe von 207 MB für Nvidia-driver-440 hat. Wenn es weniger ist, bedeutet dies, dass Sie nicht alle Pakete entfernt haben.
quelle
Ich hatte nvidia driver neu installiert: Führen Sie diese Befehle im
root
Modus aus:systemctl isolate multi-user.target
modprobe -r nvidia-drm
Installieren Sie den Nvidia-Treiber neu:
chmod +x NVIDIA-Linux-x86_64–410.57.run
systemctl start graphical.target
und schließlich überprüfen
nvidia-smi
Dank an: So installieren Sie Nvidia-Treiber und CUDA-10.0 für RTX 2080 Ti GPU unter Ubuntu-16.04 / 18.04
Wie entlade ich das Kernel-Modul 'nvidia-drm'?
quelle
Ich habe den Container in ein Docker-Image übernommen. Dann erstelle ich mit diesem Docker-Image einen weiteren Container und das Problem war behoben.
quelle
Diese Antworten haben bei mir nicht funktioniert:
https://stackoverflow.com/a/43023000/1179925
https://stackoverflow.com/a/45319156/1179925
https://stackoverflow.com/a/54349675/1179925
dmesg
Deinstallieren Sie den alten Treiber
418.67
und installieren Sie den neuen Treiber430.26
(DownloadNVIDIA-Linux-x86_64-430.26.run
):cat /proc/driver/nvidia/version
quelle
Neustart. Wenn das Problem weiterhin besteht:
für cent / rhel
dann
quelle
Für meinen Fall habe ich nvidia driver und dann cuda installiert. Ich fand es kann durch einfaches Installieren von cuda behoben werden. https://developer.nvidia.com/cuda-toolkit
quelle