लिनक्स में कई जीपीयू - कैसे निर्दिष्ट करें कि कौन सी जीपीयू एक्स विंडोज़ चलाता है


12

मैं एक GTX 480 के साथ एक सिस्टम पर Red Hat Enterprise Linux 6.1 चला रहा हूं। हाल ही में मैंने एक 3GB GTX 580 जोड़ा है, क्योंकि मेरे CUDA एप्लिकेशन को 480 से अधिक मेमोरी की आवश्यकता है। बॉक्स में स्पेस इश्यू के कारण, मुझे पीसीआई-ई बस पर 580 को सीपीयू के सबसे करीब रखें, और 480 को दूसरे स्लॉट में स्थानांतरित करें।

अब, जब मैं आरएचईएल को चलाता हूं, एक्स विंडोज़ 580 पर चल रहा है। मैं 480 रन एक्स विंडोज़ रखना चाहता हूं, इसलिए पूर्ण 3 जीबी 580 पर उपलब्ध है। मेरे पास केवल एक मॉनिटर है जो केवल 580 से जुड़ा होने पर प्रदर्शित होगा ; 480 से जुड़ा है तो कोई संकेत नहीं है।

मैंने कुछ विकल्पों की खोज की है:

  1. BIOS को बदलना - मेरे BIOS पर प्राथमिक GPU को निर्दिष्ट करने का कोई तरीका प्रतीत नहीं होता है

  2. Xorg.conf फ़ाइल को बदलना। मैं भागा nvidia-xconfig -a। मेरी xorg.confफ़ाइल का टेल एंड नीचे संलग्न है।

मैंने सोचा था कि मैं "स्क्रीन" खंडों में से एक को हटा सकता हूं और स्क्रीन 1 को डिवाइस 1 का उपयोग कर सकता हूं लेकिन यह एक्स खिड़कियों को चलने से रोकता है।


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

क्या आप उन त्रुटियों को भी पोस्ट कर सकते हैं जो आप में दिखाई देती हैं /var/log/Xorg.0.log, जब आप Screenअपने में से केवल एक को छोड़ देते हैं xorg.confऔर एक्स चलाने में विफल रहता है?
अलंड

कृपया क्रॉस-पोस्ट प्रश्नों को न करें।
nhinkle

@ यानिंकल: ठीक है - मिल गया।
20

@aland - अभी-अभी मेरी xorg.0.log फ़ाइल पोस्ट की गई
kues

जवाबों:


1

अगर मैं आपके कॉन्फिगरेशन को सही तरीके से पढ़ता हूं, तो आपको PCI 9: 0: 0 और Device1 = आपका 480 7: 0: 0 पर Device0 = आपका 580 लगता है। आपका स्क्रीन0 मॉनिटर 580 पर आपके 580 (डिवाइस 0) और आपके स्क्रीन 1 में आपके 480 और मॉनिटर 1 की जोड़ी है।

लेकिन दूसरी ओर, आउटपुट लॉग को लगता है कि लेआउट 0 ट्रिपल स्क्रीन 0, मॉनिटर 0 और डिवाइस 1 है, जो कि आप चाहते थे वह नहीं है । क्या ऐसा हो सकता है कि आपको अपने विन्यास में लेआउट 0 को ट्रिपल स्क्रीन 1, मॉनिटर 1, डिवाइस 1 होना चाहिए? शायद एक ServerLayout छंद?

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.