GTX650 GPU와 함께 Intel CPU + 통합 그래픽과 함께 Ubuntu 14.04LTS를 사용하고 있습니다. 나는 SO에 대해이 질문을했지만 그들은 그것이 주제가 아니라고 말했다.
CUDA 코드를 디버깅하기 위해 GPU를 사용하고 싶습니다. 디스플레이를 통합 전용으로 변경해야합니다. 이것은 현재 디버깅하려고 할 때 발생하는 오류입니다.
"All cuda devices are used for display and cannot be used while debugging"
BIOS로 들어가서 기본 디스플레이를 iGPU (통합 된 HD4600)로 전환했습니다. 더 이상 디스플레이 측면에서 GPU 포트에서 아무것도 나오지 않아서 모니터를 마더 보드에 꽂았습니다. 모니터 중 하나만 작동합니다. 일반적으로 나는 다음과 같이 가지고 있습니다 :
|[Monitor 1, VGA]| |[Monitor 2, DVI]|
이 구성에서 iGPU를 사용하면 모니터 1에 아무것도 표시되지 않습니다 (검은 색이지만 컴퓨터는 그 위치를 알고 있습니다-녹색 표시등이 켜져 있고 모든 창이 열려 있습니다). 작동시키는 유일한 방법은 모니터 2를 VGA로 바꾸고 모니터 1을 DVI로 바꾸는 것입니다.
lspci | grep VGA
터미널에 들어가면 다음과 같은 결과 를 얻습니다.
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)
달리는 xrandr
것은 나에게 준다 :
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
HDMI 연결이 아니며 왜 그렇게 생각하는지 모르겠습니다. GPU를 사용하면 DVI임을 알게됩니다. 어쨌든...
이것은 xorg.conf
(변경하면 덮어 씁니다) :
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
이것은 내 10-monitors.conf
파일입니다 /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
그래도 CUDA 코드를 디버깅 할 수 없습니다. lsof / dev / nvidia *를 실행하면 다음과 같은 결과가 나타납니다.
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 서버?)가 여전히 사용하고 있다고 생각합니다. 사용하지 못하게하려면 어떻게합니까?
nvidia-debugdump -l -v -z
시스템에서 카드를 인식하는 방법을 확인해야합니다.