J'utilise Ubuntu 14.04LTS, avec un processeur Intel + carte graphique intégrée, avec un GPU GTX650. J'ai posé cette question sur SO mais ils ont dit que c'était hors sujet.
Je veux utiliser mon GPU pour déboguer le code CUDA et pour cela, je dois changer l'affichage en intégré uniquement. Voici l'erreur que j'obtiens lorsque j'essaie de le déboguer actuellement:
"All cuda devices are used for display and cannot be used while debugging"
Je suis allé dans le BIOS et j'ai basculé l'affichage principal sur iGPU (celui intégré, HD4600). Rien ne sortait plus des ports GPU (en termes d'affichage) et j'ai branché mes moniteurs sur la carte mère. Un seul des moniteurs fonctionne. Normalement, je les ai comme:
|[Monitor 1, VGA]| |[Monitor 2, DVI]|
Dans cette configuration, avec iGPU, rien ne s'affiche sur le moniteur 1 (il est noir, mais l'ordinateur sait qu'il est là - le voyant vert est allumé et toutes mes fenêtres s'ouvrent dessus). La seule façon de le faire fonctionner est de permuter le moniteur 2 en VGA et le moniteur 1 en DVI.
Si j'entre lspci | grep VGA
dans Terminal, j'obtiens ceci:
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)
La course xrandr
me donne:
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
Ce n'est pas une connexion HDMI, je ne sais pas pourquoi il le pense. Avec le GPU, il sait que c'est DVI. En tous cas...
C'est le xorg.conf
(si je le change, il le remplace juste):
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
Voici mon 10-monitors.conf
dossier en /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
Cela ne permet toujours pas de déboguer mon code CUDA. Si je lance lsof / dev / nvidia * j'obtiens:
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
Donc je suppose que Compiz (serveur X?) L'utilise toujours. Comment puis-je l'empêcher de l'utiliser?
nvidia-debugdump -l -v -z
comment votre système reconnaît votre carte.Réponses:
J'ai réussi avec une configuration à deux écrans, l'un connecté à mon GPU ATI dédié et l'autre connecté à l'iGPU i7-2600K.
Pour ce faire, j'ai couru
xrandr --setprovideroutputsource 1 0
Il fonctionnait parfaitement, mais il est toujours considéré comme expérimental, et avec plusieurs mises à niveau du noyau depuis lors, YMMV.
la source