web-dev-qa-db-ja.com

2つのGPUでnvidia-xconfigを使用する方法と1つはNVidiaではありませんか?

私はUbuntu10.04 LTSで実行されているマシンのクラスターを持っており、2つのグラフィックカード、NVidia GeForce GT 240(セカンダリ)とMatrox 1(プライマリ)が装備されています。 Matroxグラフィックカードを無視しているように見えるため、nvidia-xconfig/etc/X11/XF86ConfigファイルにBusIDフィールドを追加する必要はないと見なし、手動で追加する必要があります。 BusIDフィールドがマシンごとに変わることを考えると、nvidia-xconfigが自動的にジョブを実行することを嬉しく思います。

その特定の場合にnvidia-xconfigに適切なBusIDを指定させることは可能ですか?オプション--enable-all-gpusの使用は機能しないことに注意してください!

5
Greg

私が修正として思いついたのは、nvidia-xconfig --query-gpu-infoを使用してBusIDを取得し、それをnvidia-xconfigに再度フィードしてXF86Configファイルを更新することです。これを行うスクリプト行は次のとおりです。

nvidia-xconfig --connected-monitor="CRT" --busid=`nvidia-xconfig --query-gpu-info | grep BusID | sed 's/PCI BusID : PCI:/PCI:/'`

最後に、私のXF86Configファイルは次のようになります。

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection


Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GT 240"
    BusID          "  PCI:5:0:0"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "ConnectedMonitor" "CRT"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection
2
Greg