Linux의 여러 GPU-X 윈도우를 실행할 GPU를 지정하는 방법


12

GTX 480이 설치된 시스템에서 Red Hat Enterprise Linux 6.1을 실행하고 있습니다. 최근 CUDA 응용 프로그램에 480보다 많은 메모리가 필요하기 때문에 3GB GTX 580을 추가했습니다. CPU에 가장 가까운 PCI-E 버스에 580을 놓고 480을 두 번째 슬롯으로 옮깁니다.

이제 RHEL을 실행할 때 X 창이 580에서 실행되고 있습니다. 480 개의 실행 X 창이 580에서 전체 3GB를 사용할 수있게하려고합니다. 580에 연결된 경우에만 표시되는 모니터는 하나뿐입니다. ; 480에 연결된 경우 신호가 없습니다.

몇 가지 옵션을 살펴 보았습니다.

  1. BIOS 변경-BIOS에서 기본 GPU를 지정하는 방법이 없습니다

  2. xorg.conf 파일 변경 나는 달렸다 nvidia-xconfig -a. 내 xorg.conf파일 의 꼬리 끝이 아래에 추가됩니다.

"Screen"섹션 중 하나를 제거하고 Screen0이 Device1을 사용하도록 할 수 있지만 X 윈도우가 실행되지 않도록 생각했습니다.


Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "GeForce GTX 580" BusID "PCI:9:0:0" EndSection    
Section "Device" Identifier "Device1" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "GeForce GTX 480" BusID "PCI:7:0:0" EndSection
Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Depth 24 EndSubSection EndSection
Section "Screen" Identifier "Screen1" Device "Device1" Monitor "Monitor1" DefaultDepth 24 SubSection "Display" Depth 24 EndSubSection EndSection

X 윈도우가 시작되지 않을 때 xorg.0.log에서 선택된 하이라이트는 다음과 같습니다.

(==) Using config file: "/etc/X11/xorg.conf"
(==) ServerLayout "Layout0"
(**) |-->Screen "Screen0" (0)
(**) |   |-->Monitor "Monitor0"
(**) |   |-->Device "Device1"
...
(--) PCI: (0:7:0:0) 10de:06c0:10de:075f nVidia Corporation GF100 [GeForce GTX 480] rev 163, Mem @ 0xf6000000/33554432, 0xc8000000/134217728, 0xd0000000/67108864, I/O @ 0x0000dc00/128, BIOS @ 0x????????/524288
(--) PCI:*(0:9:0:0) 10de:1080:19da:2203 nVidia Corporation GF110 [Geforce GTX 580] rev 161, Mem @ 0xfa000000/16777216, 0xd8000000/134217728, 0xd6000000/33554432, I/O @ 0x0000ec00/128, BIOS @ 0x????????/524288
...
(II) Module nvidia: vendor="NVIDIA Corporation"
    compiled for 4.0.2, module version = 1.0.0
    Module class: X.Org Video Driver
(II) NVIDIA dlloader X Driver  270.41.19  Mon May 16 23:33:35 PDT 2011
(II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
(II) Primary Device is: PCI 09@00:00:0
...
(**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
(==) NVIDIA(0): RGB weight 888
(==) NVIDIA(0): Default visual is TrueColor
(==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
(II) Sep 15 16:18:27 NVIDIA(0): NVIDIA GPU GeForce GTX 480 (GF100) at PCI:7:0:0 (GPU-0)
(--) Sep 15 16:18:27 NVIDIA(0): Memory: 1572864 kBytes
(--) Sep 15 16:18:27 NVIDIA(0): VideoBIOS: 70.00.21.00.02
(II) Sep 15 16:18:27 NVIDIA(0): Detected PCI Express Link width: 8X
(--) Sep 15 16:18:27 NVIDIA(0): Interlaced video modes are supported on this GPU
(--) Sep 15 16:18:27 NVIDIA(0): Connected display device(s) on GeForce GTX 480 at PCI:7:0:0
(--) Sep 15 16:18:27 NVIDIA(0):     none
(EE) Sep 15 16:18:27 NVIDIA(0): No display devices found for this X screen.
(II) UnloadModule: "nvidia"
(II) UnloadModule: "wfb"
(II) UnloadModule: "fb"
(EE) Screen(s) found, but none have a usable configuration.

Fatal server error:
no screens found

당신은 당신이에 나타납니다 사후 오류를 plese 수 /var/log/Xorg.0.log하나만을 남겨 후, Screen당신의 xorg.conf실행 실패하고 X?
aland

질문을 교차 게시하지 마십시오.
닌클

@nhinkle : 좋아-알았어.
kues

@aland-방금 내 xorg.0.log 파일을 게시 함
kues

답변:


1

구성을 올바르게 읽으면 PCI 9 : 0 : 0에서 Device0 = 580, 7 : 0 : 0에서 Device1 = 480이있는 것 같습니다. screen0은 Monitor0에서 580 (Device0)의 페어링이고 screen1은 480과 Monitor1의 페어링입니다.

그러나 다른 한편으로는, 출력 로그 Layout0 인, 삼중 Screen0에 monitor0 및 디바이스 1이라고 생각 하지 당신이 원하는 무엇을. 단순히 구성에서 Layout0을 triplet screen1, monitor1, device1로 정의해야합니까? 아마도 ServerLayout 스탠자입니까?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.