Ich habe eine integrierte Intel-GPU und eine NVIDIA-GPU. Ich verwende Ubuntu 18.04.
Wie konfiguriere ich ein Dual-GPU-Setup so, dass Intel Onboard iGPU den Monitor steuert und die NVIDIA-GPU ausschließlich für die CUDA-Arbeit mit maschinellem Lernen belässt?
Antworten:
Ich habe zuerst NVIDIA-Treiber und CUDA-Pakete gemäß diesem Handbuch installiert . Außer, dass ich nach einem Neustart
/usr/lib/xorg/Xorg
in der Ausgabe von auftauchtenvidia-smi
. Dies war nicht gut, da ich den gesamten NVIDIA GPU-RAM für meine Arbeit zur Verfügung haben musste.Nach einigen Recherchen fand ich eine Lösung, die mein Problem löste:
Ich habe
/etc/X11/xorg.conf
mit folgendem Inhalt erstellt:(Wenn Sie versuchen, dasselbe zu tun, überprüfen Sie, wo sich Ihre GPU befindet. Meine war auf
00:02.0
welcher übersetztPCI:0:2:0
)Nach dem Neustart wurden xorg und andere Programme nicht mehr in der Ausgabe von angezeigt
nvidia-smi
. Und ich konnte Pytorch mit CUDA-10.0 verwenden.Beachten Sie, dass ich immer noch alle NVIDIA-Treiber installiert habe, diese jedoch nicht stören.
quelle
Ich möchte eine weitere Möglichkeit hinzufügen, mit der ich derzeit verhindere, dass die Nvidia-Karte mein Display handhabt. Ich starte einfach zu Gnome, indem ich Wayland anstelle von Xorg auswähle. Da Nvidia Wayland nach der Anmeldung nicht unterstützt, zeigt nvidia-smi keinen laufenden Prozess an.
Ich kann Nvidia jedoch weiterhin für Dinge wie Tensorflow verwenden.
quelle
Lassen Sie mich mein Rezept teilen, das mir auf dem Razer Blade 15-Laptop mit der Arch Linux- und Gnome-Desktop-Umgebung geholfen hat.
Anfangs habe ich Gnome mit einer Wayland-Sitzung gestartet, die zu diesem Zeitpunkt nicht mit dem NVIDIA-Treiber kompatibel war. Daher hatte ich natürlich einen integrierten Grafikadapter für die Anzeige und eine NVIDIA-GPU für tiefes Lernen. Nach dem letzten Update wurde die GDM-Sitzung jedoch mit der NVIDIA-GPU als primärer GPU auf Xorg zurückgesetzt. Das Problem war:
Ich bin
nvidia-smi
nach dem Start gelaufen . Ich hatte erwartetNo running processes found
, aber ich sah eine Liste vonXorg
Prozessen, die meine NVIDIA-GPU verwendeten. Das bedeutet, dass Gnome Display Manager die Xorg-Sitzung mit der NVIDIA-GPU als primäre GPU verwendet hat.Ich untersuchte
/var/log/Xorg.0.log
:(**)
bedeutet, dass die Einstellung aus der Konfigurationsdatei gelesen wurde! Ich fand heraus, dass die Konfigurationsdatei war/usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf
. Ich habe die Konfigurationsdatei geändert, um den integrierten Intel-Grafikadapter als primäre GPU festzulegen:quelle
nviddia-smi
.echo $XDG_SESSION_TYPE
Retourenx11
anstelle von Wayland. Ideen?Da ich nicht den Ruf habe, Kommentare abzugeben, teile ich hier Ergebnisse im Zusammenhang mit der Antwort von Maksym Ganenko: Ich habe die Lösung auf meinem Ubuntu 18.04 ausprobiert, auf dem ich gdm3 mit kde-plasma oder ubuntu ausführe. Die von Ihnen erwähnte Datei
/usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf
befindet sich auf meinem System mit dem Namen/usr/share/X11/xorg.conf.d/11-nvidia-prime.conf
, wahrscheinlich weil ich nvidia-prime für einige Zeit installiert hatte. Das Problem beim Bearbeiten dieser Datei ist die Tatsache, dass in meiner Installation / usr / bin / gpu-manager diese Datei beim Starten einer neuen xsession generiert und somit alle Änderungen verloren gehen. Wie hier beschrieben, vermeiden Sie die Verwendung der NVIDIA-Karte für Xorg mit Plasma gemäß den hier gegebenen Hinweisen. GPU-Manager überschreibt xorg.conf. Die Lösung besteht darin, die generierte Datei vor Änderungen durch zu schützenKönnte sein, dass ein chmod 444 dasselbe tun würde, aber ich habe einfach die in gpu-manager vorgeschlagene Lösung verwendet, die xorg.conf überschreibt .
quelle