Estoy corriendo 2 Gpu y estoy tratando de fuerza X server para ejecutarse en una GPU.
De acuerdo a este sitio web : http://nvidia.custhelp.com/app/answers/detail/a_id/3029/~/uso-de cuda-y-x , aquí es ¿cómo debo proceder :

La pantalla de X debe ser forzado en una sola GPU usando el BusID
parámetro en la correspondiente sección «Display» del xorg.conf archivo. En
además, cualquier otro «Pantalla» secciones deben ser eliminados. Por ejemplo:
BusID «PCI:34:0:0»

Aquí está mi xorg.conf archivo :

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 304.64  ([email protected])  Tue Oct 30 12:04:46 PDT 2012

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    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"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Así que he probado a modificar el inciso pantalla con la correcta BusID pero todavía no funciona, también he probado a ponerlo en la sección de Dispositivos.

Alguien sabe cómo podría hacer eso ?

InformationsquelleAutor user2682877 | 2013-08-22

2 Comentarios

  1. 7

    Si usted tiene 2 Gpu NVIDIA, obtener la BusID parámetros para los dos. El doc se enlaza explica un par de formas de hacerlo, pero nvidia-smi -a es bastante fácil.

    Usted tendrá que averiguar la GPU desea mantener para la pantalla, y que desea mantener para CUDA. De nuevo, esto debería ser bastante obvio desde nvidia-smi -a

    Supongamos que tu nvidia-smi -a incluye una sección como esta:

    PCI
        Bus                     : 0x02
        Device                  : 0x00
        Domain                  : 0x0000
        Device Id               : 0x06D910DE
        Bus Id                  : 0000:02:00.0

    A continuación, modifique la sección dispositivo como este:

    Section "Device"
        Identifier     "Device0"
        Driver         "nvidia"
        VendorName     "NVIDIA Corporation"
        BusID          "PCI:2:0:0"
    EndSection

    A continuación, reiniciar el sistema.
    Asegúrese de que el uno se mantiene para la pantalla es el uno con el cable de la pantalla adjunta!

    Usted también podría estar interesado en la lectura de la controlador de nvidia readme y la búsqueda de «BusID» para obtener sugerencias adicionales.

    El documento que enlaza hace referencia a una sección «Display», pero lo que debería ser la sección «Dispositivo».

    • Finalmente el problema fue que la 2ª GPU era defectuoso. Fue detectado, pero fue incapaz de mostrar. Su respuesta fue muy útil a pesar de gracias !
    • Una muy nota importante; si hay muchos GPUs instalado obtendrá valores hexadecimales de lspci o nvidia-smi como 0000:0A:00.0. Tienes que convertirlo a decimal como este 10:00:0 o saltar cero a la izquierda(s) como este A:00:0 (aviso 0A es ahora sólo A). El crédito va para quebrantahuesos en el #etereum de la minería en Freenode.
  2. 2

    Ya que no se puede agregar comentarios a la respuesta anterior, debido a la reputación de restricción, acabo de dejar mi solución aquí.

    He seguido la solución aportada por @Roberto Crovella. Pero todavía no trabajo para mí, hasta que me cambiaron el BusID a formato decimal.

    Me deja escribir más detalles.

    • Dos Gpu: GTX 1080Ti(device0 ) y GTX 960(dispositivo1). Así que quiero establecer GTX 1080Ti(device0) como la informática y la tarjeta GTX 960(dispositivo1) para xorg pantalla.

    • Encontrar su BusIDs: usted puede encontrar el BusIDs «mediante el comando» lspci | grep VGA’, que dará el siguiente :

    03:00.0 VGA compatible controller: NVIDIA Corporation Dispositivo 1b06 (rev a1)

    82:00.0 VGA compatible controller: NVIDIA Corporation GM206 [GeForce GTX 960] (rev a1)

    Así tenemos el BusId 03:00.0 device0 y 82:00.0 para dispositivo1, pero
    ambos son números hexadecimales. Para convertir 0x03 y 0x82 a números decimales
    como 3 y 130, respectivamente.

    • Agregar el BusID a la Device sección en la xorg.conf de archivo:

      La Sección «Device»

         Identifier     "Device1"
         Driver         "nvidia"   
         VendorName     "NVIDIA Corporation"
         BusID          "PCI:130:0:0"

      EndSection

    Prestar atención a la BusID formato, como «0:0», (no «0.0»). Y también utilizar el mismo dispositivo en la Sección «Pantalla»:

    La Sección «Pantalla»

       Identifier     "Screen0"
       Device         "Device1"   
       ...

    EndSection

    • Con los monitores conectados a la pantalla de la GPU, y reinicie su computadora.
    • He encontrado esta solución cuando leí el comentario de arriba por @Piotr Dobrogost, y volver a verificar el formato decimal BusID utilizado en el xorg.conf archivo, diferente de la BusID siempre vis comando lspci cuando me encontré con este artículo.

Dejar respuesta

Please enter your comment!
Please enter your name here