NVIDIA-Karte für CUDA und AMD-Karte zur Anzeige unter Ubuntu 16.04

10

Ich verwende Ubuntu 16.04, da es das Betriebssystem ist, das ich für die Arbeit mit Faltungs-Neuronalen Netzen (CNN) als bequemer empfunden habe. Die Installation von Ubuntu war in Ordnung, bis ich zwei Grafikkarten auf demselben System einrichten wollte:

  • NVIDIA 970 GTX
  • AMD R9 380

Ich wollte meine NVIDIA-Karte nur für CUDA verwenden, um den gesamten Grafikspeicher und das AMD für die grafische Benutzeroberfläche verwenden zu können. Zu diesem Zweck werden alle Monitore an diese Karte angeschlossen.

Probleme:

  • Wenn ich die Treiber nvidia und cuda 8.0 installiere, scheint alles in Ordnung zu sein, aber wenn ich den AMD-Treiber installiere, kann ich mich nicht bei lightdm anmelden.
  • Wenn ich die Monitore an die AMD-Karten anschließe, heißt es, dass lightdm im Low-Graphic-Modus läuft und nichts funktioniert.
  • Das Ändern der Datei xorg.conf macht keinen Unterschied, da sie vom GPU-Manager überschrieben wird

Ich konnte kein Tutorial finden, das erklärt, wie das geht.

Marcus
quelle
Bitte schneiden Sie den Antwortteil des Beitrags aus und fügen Sie ihn in eine separate Antwort ein.
Edwinksl
OK, ich habe das getan ..
Marcus

Antworten:

10

Vor dem Start empfehle ich, ssh zu installieren, um das System aus der Ferne herunterfahren zu können, wenn etwas schief geht. Verwenden Sie dazu diesen Befehl:

sudo apt-get install ssh

und um Ihr System herunterzufahren, müssen Sie mit einem anderen Computer oder Mobilgerät ssh und diesen Befehl verwenden:

sudo shutdown -r now

Schritt 1

Zunächst müssen Sie die AMD-Karte physisch entfernen, Ihre NVIDIA-Karte behalten und CUDA und den NVIDIA-Treiber installieren. Sie können cuda hier herunterladen: https://developer.nvidia.com/cuda-downloads

Stellen Sie sicher, dass mit diesem Befehl alles funktioniert:

nvidia-smi

Schritt 2

Zu diesem Zeitpunkt müssen wir grub ändern, um im Konsolenmodus zu starten, da wir mit Grafikkarten herumspielen.

Bearbeiten Sie mit Ihrem Lieblingseditor (in meinem Fall Joe) die Standard-Grub-Konfigurationsdatei:

sudo joe /etc/default/grub

Und ändern Sie diese Zeilen:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
#GRUB_TERMINAL=console

zu diesen:

GRUB_CMDLINE_LINUX_DEFAULT="text"
GRUB_CMDLINE_LINUX="text"
GRUB_TERMINAL=console

Aktualisieren Sie abschließend grub mit diesem Befehl:

sudo update-grub

Schritt 3

Fahren Sie Ihr System herunter, entfernen Sie die NVIDIA-Karte und schließen Sie die AMD-Karte an. Schalten Sie Ihren Computer ein und installieren Sie die neuesten AMD-Grafiktreiber. In meinem Fall habe ich die Treiber mit den folgenden Befehlen installiert:

wget https://www2.ati.com/drivers/linux/ubuntu/amdgpu-pro-16.40-348864.tar.xz
tar -Jxvf amdgpu-pro-16.40-348864.tar.xz
cd amdgpu-pro-16.40-348864/
./amdgpu-pro-install
sudo usermod -a -G video $USER

Starte deinen Computer neu. Jetzt können Sie lightdm (die Benutzeroberfläche) mit diesem Befehl starten:

sudo service lightdm start

Alle sollten wie erwartet funktionieren und jetzt können Sie Ihre Anzeigen mithilfe der Systemeinstellungen einrichten.

Schritt 4

Fahren Sie Ihr System herunter und fügen Sie nun Ihre NVIDIA-Karte hinzu. Entfernen Sie die AMD nicht (an dieser Stelle befinden sich zwei Grafikkarten in Ihrem System). Schalten Sie Ihren Computer ein und melden Sie sich mit Ihrem Benutzernamen an, aber starten Sie LIGHTDM NICHT !!

Zu diesem Zeitpunkt hat der GPU-Manager automatisch beide Grafikkarten für den Konsolenmodus und nur AMD für LightDM eingerichtet (seit wir Lightdm im vorherigen Schritt gestartet haben). Wenn wir an dieser Stelle lightdm ausführen, wird der GPU-Manager ein Chaos verursachen. Jetzt müssen wir den GPU-Manager komplett deaktivieren. Zu diesem Zweck müssen wir grub erneut modifizieren:

sudo joe /etc/default/grub

und ersetzen Sie diese Zeilen:

GRUB_CMDLINE_LINUX_DEFAULT="text"
GRUB_CMDLINE_LINUX="text"
GRUB_TERMINAL=console

von diesen:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nogpumanager"
GRUB_CMDLINE_LINUX=""
#GRUB_TERMINAL=console

Aktualisieren Sie abschließend grub mit diesem Befehl:

sudo update-grub

Schritt 5

Starten Sie Ihr System neu und wenn das lightdm nicht richtig startet (es erscheint ein schwarzer Bildschirm), müssen Sie Strg + F1 drücken, sich im Konsolenmodus anmelden und diesen Befehl zur Datei rc.local hinzufügen:

sudo joe /etc/rc.local

Fügen Sie diese Zeile vor "exit 0" hinzu:

service lightdm start

Starten Sie Ihr System neu und alles sollte jetzt gut funktionieren ...

In einer Konsole können Sie mit diesem Befehl überprüfen, ob beide Grafikcads verwendet werden:

lspci -nnk | grep -i vga -A3 | grep 'in use'

Kernel driver in use: amdgpu
Kernel driver in use: nvidia

und nvidia-smi sollte gut funktionieren. Zeigt an, dass Sie 0 Megabyte Speicher verwenden:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.26                 Driver Version: 375.26                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 970     Off  | 0000:02:00.0     Off |                  N/A |
| 30%   42C    P0    36W / 163W |      0MiB /  4036MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+
Marcus
quelle
Ich habe ein paar Tage lang versucht, dies zum Laufen zu bringen. Welchen Kernel haben Sie unter Ubuntu 16.04 verwendet?
Aaron Skomra
Hast du es geschafft?
Szymon Roziewski
1
@ d84_n1nj4 Ich habe Ubuntu 18.04 nicht ausprobiert, vielleicht funktioniert es direkt, ohne all diese Schritte ausführen zu müssen ... es wäre schön, wenn Sie Ihre Erfahrungen teilen könnten.
Marcus
1
@ Marcus Ich mache das. Sollte es bis Montag begonnen / getan haben. Nun, sobald Amazon meinen nachbestellten 4K-Monitor
versendet
2
@Marcus es funktionierte tatsächlich direkt nach der Verbindung - ich musste keine Schritte durchlaufen ^^
d84_n1nj4