GPU หลายตัวใน Linux - วิธีระบุ GPU ที่ใช้ Windows X


12

ฉันใช้ Red Hat Enterprise Linux 6.1 บนระบบที่มี GTX 480 เมื่อเร็ว ๆ นี้ฉันได้เพิ่ม 3GB GTX 580 เนื่องจากแอปพลิเคชัน CUDA ของฉันต้องการหน่วยความจำมากกว่าที่ฉันมีใน 480 เนื่องจากปัญหาพื้นที่ในกล่องฉันต้อง วาง 580 บนบัส PCI-E ใกล้กับ CPU และย้าย 480 ไปยังสล็อตที่สอง

ตอนนี้เมื่อฉันเรียกใช้ RHEL, X windows ทำงานบน 580 ฉันต้องการให้มี 480 run X windows ดังนั้น 3GB เต็มรูปแบบที่มีอยู่ใน 580 ฉันมีจอภาพเดียวซึ่งจะแสดงเฉพาะเมื่อเชื่อมต่อกับ 580 ; ไม่มีสัญญาณหากเชื่อมต่อกับ 480

ฉันได้สำรวจสองตัวเลือก:

  1. การเปลี่ยน BIOS - ดูเหมือนจะไม่มีวิธีการระบุ GPU หลักใน BIOS ของฉัน

  2. การแก้ไขไฟล์ xorg.conf nvidia-xconfig -aฉันวิ่ง ส่วนท้ายของxorg.confไฟล์ของฉันถูกต่อท้ายด้านล่าง

ฉันคิดว่าฉันสามารถลบหนึ่งในส่วน "หน้าจอ" และมี Screen0 ใช้ Device1 แต่ที่ป้องกันไม่ให้ X windows ทำงาน


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

นี่คือไฮไลท์ที่เลือกจาก xorg.0.log เมื่อ X windows ไม่สามารถเริ่มต้น:

(==) 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

คุณสามารถโปรดโพสต์ข้อผิดพลาดที่ปรากฏในตัวคุณ/var/log/Xorg.0.logหลังจากที่คุณเหลือหนึ่งScreenในxorg.confX และไม่สามารถทำงานได้หรือไม่
Aland

กรุณาอย่าข้ามคำถาม
พฤศจิกายน

@nhinkle: ตกลง - เข้าใจแล้ว
kues

@aland - เพิ่งโพสต์ไฟล์ xorg.0.log ของฉัน
kues

คำตอบ:


1

ถ้าฉันอ่านการกำหนดค่าของคุณอย่างถูกต้องคุณดูเหมือนจะมี Device0 = ของคุณ 580 ที่ PCI 9: 0: 0 และอุปกรณ์ 1 = ของคุณ 480 ที่ 7: 0: 0 screen0 ของคุณคือการจับคู่ 580 ของคุณ (อุปกรณ์ 0) บน Monitor0 และ screen1 ของคุณเป็นคู่ของ 480 และ Monitor1 ของคุณ

แต่ในทางกลับกันล็อกเอาท์พุทคิดว่า Layout0 เป็น triplet screen0, monitor0 และ Device1 ซึ่งไม่ใช่สิ่งที่คุณต้องการ เป็นไปได้หรือไม่ที่คุณต้องกำหนด Layout0 ในการกำหนดค่าของคุณให้เป็น triplet screen1, monitor1, device1? บางที ServerLayout stanza?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.