Ich verwende Ubuntu 14.04LTS mit einer in Intel CPU + integrierten Grafik und einer GTX650-GPU. Ich habe diese Frage auf SO gestellt, aber sie sagten, sie sei offtopisch.
Ich möchte meine GPU zum Debuggen von CUDA-Code verwenden und dafür muss ich die Anzeige auf nur integriert ändern. Dies ist der Fehler, den ich bekomme, wenn ich versuche, ihn aktuell zu debuggen:
"All cuda devices are used for display and cannot be used while debugging"
Ich ging ins BIOS und stellte die primäre Anzeige auf iGPU (die integrierte, HD4600) um. Aus den GPU-Ports kam nichts mehr heraus (in Bezug auf die Anzeige) und ich steckte meine Monitore in das Motherboard. Nur einer der Monitore funktioniert. Normalerweise habe ich sie wie:
|[Monitor 1, VGA]| |[Monitor 2, DVI]|
In dieser Konfiguration wird mit iGPU auf Monitor 1 nichts angezeigt (es ist schwarz, aber der Computer weiß, dass es vorhanden ist - das grüne Licht leuchtet und alle meine Fenster öffnen sich darauf). Die einzige Möglichkeit, es zum Laufen zu bringen, besteht darin, Monitor 2 gegen VGA und Monitor 1 gegen DVI auszutauschen.
Wenn ich das lspci | grep VGA
Terminal betrete, erhalte ich Folgendes:
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)
Laufen xrandr
gibt mir:
Screen 0: minimum 8 x 8, current 3360 x 1050, maximum 16384 x 16384
DVI-D-0 disconnected primary (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
VGA1 connected 1680x1050+0+0 474mm x 296mm
1680x1050 60.0*+
1600x1000 60.0 +
1280x1024 75.0 72.0 60.0
1440x900 75.0 59.9
1152x864 75.0
1024x768 75.1 70.1 60.0
800x600 72.2 75.0 60.3
640x480 75.0 72.8 66.7 60.0
720x400 70.1
DP1 disconnected
HDMI1 disconnected
HDMI2 connected 1680x1050+1680+0 474mm x 296mm
1680x1050 60.0*+
1600x1000 60.0 +
1280x1024 75.0 72.0 60.0
1440x900 75.0 59.9
1152x864 75.0
1024x768 75.1 70.1 60.0
800x600 72.2 75.0 60.3
640x480 75.0 72.8 66.7 60.0
720x400 70.1
HDMI3 disconnected
VIRTUAL1 disconnected
Es ist keine HDMI-Verbindung, ich weiß nicht, warum es denkt, dass es so ist. Mit der GPU weiß es, dass es DVI ist. Wie auch immer...
Dies ist das xorg.conf
(wenn ich es ändere, überschreibt es es einfach):
Section "ServerLayout"
Identifier "layout"
Screen 0 "nvidia"
Inactive "intel"
EndSection
Section "Device"
Identifier "intel"
Driver "intel"
BusID "PCI:0@0:2:0"
Option "AccelMethod" "SNA"
EndSection
Section "Screen"
Identifier "intel"
Device "intel"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:1@0:0:0"
Option "ConstrainCursor" "off"
EndSection
Section "Screen"
Identifier "nvidia"
Device "nvidia"
Option "AllowEmptyInitialConfiguration" "on"
Option "IgnoreDisplayDevices" "CRT"
EndSection
Dies ist meine 10-monitors.conf
Datei in /usr/share/X11/xorg.conf.d/
:
GNU nano 2.2.6 File: /usr/share/X11/xorg.conf.d/10-monitors.conf
Section "Monitor"
Identifier "VGA1"
EndSection
Section "Monitor"
Identifier "HDMI2"
EndSection
Section "Device"
Identifier "intel0"
Driver "intel"
BusID "PCI:0@0:2:0"
EndSection
Section "Device"
Identifier "intel1"
Driver "intel"
BusID "PCI:0@0:2:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "intel0"
Monitor "VGA1"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1680x1050" "1920x1080"
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "intel1"
Monitor "HDMI2"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1680x1050" "1920x1080"
EndSubSection
EndSection
Dadurch kann mein CUDA-Code immer noch nicht debuggt werden. Wenn ich lsof / dev / nvidia * starte, bekomme ich:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
compiz 1659 cinnamon mem CHR 195,255 11805 /dev/nvidiactl
compiz 1659 cinnamon mem CHR 195,0 11806 /dev/nvidia0
compiz 1659 cinnamon 11u CHR 195,255 0t0 11805 /dev/nvidiactl
compiz 1659 cinnamon 12u CHR 195,0 0t0 11806 /dev/nvidia0
compiz 1659 cinnamon 13u CHR 195,0 0t0 11806 /dev/nvidia0
compiz 1659 cinnamon 14u CHR 195,0 0t0 11806 /dev/nvidia0
Compiz (X-Server?) Verwendet es also immer noch. Wie kann ich verhindern, dass es verwendet wird?
quelle
nvidia-debugdump -l -v -z
, wie Ihr System Ihre Karte erkennt.Antworten:
Ich hatte Erfolg mit einem Dual-Monitor-Setup, bei dem einer an meine dedizierte ATI-GPU und der andere an die i7P600K iGPU angeschlossen war.
Dazu bin ich gelaufen
xrandr --setprovideroutputsource 1 0
Früher funktionierte es einwandfrei, aber es wird immer noch als experimentell angesehen und seitdem mit mehreren Kernel-Upgrades YMMV.
quelle