12 Replies Latest reply on Apr 23, 2012 5:29 AM by yurtesen

    Linux Nvidia primary, Radeon headless OpenCL not finding radeon?

    yurtesen

      Hello,

       

      1- I am trying to install an nvidia card to use with the display and radeon for calculations. However once I install the nvidia driver, the clinfo does not show Radeon anymore. (I didnt try/check with nouveau driver ... )

       

      So, is it because X is not running on this card? If yes, is there any instructions on what to do to run a dummy X on it?

       

      Does this work better on Windows? or would it have made any difference if both cards were from AMD?

       

      Thanks,

        • Re: Linux Nvidia primary, Radeon headless OpenCL not finding radeon?
          nou

          yes you need dummy Xserver to run on that card. with windows it should be possible to run headless enviroment. in linux it is possible too it just need running Xserver.

            • Re: Linux Nvidia primary, Radeon headless OpenCL not finding radeon?
              yurtesen

              Thanks, do you know a simple configuration for starting X normally on the 1st card and headless on the 2nd card at boot time?

                • Re: Linux Nvidia primary, Radeon headless OpenCL not finding radeon?
                  dmeiser

                  Normally you'd just have to list the devices in your /etc/X11/xorg.conf. For example in my xorg.conf I have the following three devices:

                   

                  Section "Device"

                            Identifier  "aticonfig-Device[0]-0"

                            Driver      "fglrx"

                            BusID       "PCI:1:0:0"

                  EndSection

                   

                   

                  Section "Device"

                            Identifier  "aticonfig-Device[1]-0"

                            Driver      "fglrx"

                            BusID       "PCI:4:0:0"

                  EndSection

                   

                   

                  Section "Device"

                            Identifier  "aticonfig-Device[2]-0"

                            Driver      "fglrx"

                            BusID       "PCI:5:0:0"

                  EndSection

                   

                  You can find the BusID by running the lspci command and looking for your graphics devices. When you add your devices to the xorg.conf they should be running after you restart your x server.

                   

                  Cheers,

                  Dominic

                    • Re: Linux Nvidia primary, Radeon headless OpenCL not finding radeon?
                      yurtesen

                      Thanks, that is very useful information. I will try it tomorrow...

                      • Re: Linux Nvidia primary, Radeon headless OpenCL not finding radeon?
                        yurtesen

                        It does not appear to be working. I see no attempt from Xorg to load the fglrx driver. I think there must be more definitions related to devices for them to function perhaps? Maybe this only works if all the cards are ATI/AMD? The card I use for displays is from nvidia?

                          • Re: Linux Nvidia primary, Radeon headless OpenCL not finding radeon?
                            dmeiser

                            Do you have a device section for your NVIDIA device? On my nvidia machine I have a section like this in my xorg.conf:

                             

                            Section "Device"

                                Identifier     "Device0"

                                Driver         "nvidia"

                                VendorName     "NVIDIA Corporation"

                                BoardName      "NVS 4200M"

                            EndSection

                             

                            If you have your monitor hooked up to the nvidia device you're going to have to use this device identifier in your screen section. What happens when you run lsmod and grep for nvidia, ati, and nouveau? Can you see the drivers associated with each device by doing 'lspci -k'? How many platforms does clinfo find?

                            • Re: Linux Nvidia primary, Radeon headless OpenCL not finding radeon?
                              dmeiser

                              I forgot to ask:  Are these problems only when you're trying to log in remotely or does it also not work when you logged in locally and have the x server running? It would probably be easier to get it to work locally first.

                                • Re: Linux Nvidia primary, Radeon headless OpenCL not finding radeon?
                                  yurtesen

                                  If I am running on the nvidia card, and I have device section for radeon, then X does not load anything related to radeon (I see nothing related to fglrx in xorg log file)

                                   

                                  I tried to put displays to both cards and tried to create a screen entry for both of them manually. However this time fglrx is crashing... (I also tried nouveau driver for nvidia)

                                   

                                  Lets recap, you run display on nvidia card and you only have a device section for radeon? Do you see in xorg log file that fglrx driver is loaded? You dont have any other radeon related entries in the conf file?

                                   

                                  I removed the nvidia card so I am not able to see the outputs now. But I remember that both nvidia and fglrx modules were loaded to kernel.

                                    • Re: Linux Nvidia primary, Radeon headless OpenCL not finding radeon?
                                      timchist

                                      Hi yurtesen.

                                      Did you manage to solve the problem?

                                      I'm having a similar setup - GTX 470 in slot 1, 5850 in slot 2 with monitor only connected to the NVIDIA card (can't insert the cards in different order as Radeon wouldn't fit in my case). Tried different options in xorg configuration files - no luck. Either fglrx driver is not loaded and the system starts, but clinfo only sees GTX and CPU, or a black screen shown.

                                        • Re: Linux Nvidia primary, Radeon headless OpenCL not finding radeon?
                                          settle

                                          Currently it seems that in order for the linux driver to load you need a monitor attached.  You could trick your linux system into thinking a monitor is attached using a dummy vga adapter.  Another possible thing to consider is that the device section in xorg.conf may not be invoked unless a screen somehow references it.

                                          • Re: Linux Nvidia primary, Radeon headless OpenCL not finding radeon?
                                            yurtesen

                                            No, it just wouldnt work. I think it should work without the monitor with newer drivers(I  had a monitor attached nevertheless). But what I had as a problem this time was segmentation faults when I get both nvidia and amd/ati drivers loaded. (fglrx caused X to do segmentation fault).

                                             

                                            Luckily the solution was simple. I removed the radeon and used nvidia cards only. It is extremely difficult to run opencl programs on AMD/ATI cards, in my opinion if they dont fix it there is not much of a point of optimizing HPC applications for AMD/ATI platforms using OpenCL since you will never see these cards in supercomputers. But thats my opinion... anyway... I hope they would fix these problems!

                                    • Re: Linux Nvidia primary, Radeon headless OpenCL not finding radeon?
                                      yurtesen

                                      dmeiser wrote:

                                       

                                      Normally you'd just have to list the devices in your /etc/X11/xorg.conf. For example in my xorg.conf I have the following three devices:

                                       

                                      Section "Device"

                                                Identifier  "aticonfig-Device[0]-0"

                                                Driver      "fglrx"

                                                BusID       "PCI:1:0:0"

                                      EndSection

                                       

                                       

                                      Section "Device"

                                                Identifier  "aticonfig-Device[1]-0"

                                                Driver      "fglrx"

                                                BusID       "PCI:4:0:0"

                                      EndSection

                                       

                                       

                                      Section "Device"

                                                Identifier  "aticonfig-Device[2]-0"

                                                Driver      "fglrx"

                                                BusID       "PCI:5:0:0"

                                      EndSection

                                       

                                      You can find the BusID by running the lspci command and looking for your graphics devices. When you add your devices to the xorg.conf they should be running after you restart your x server.

                                       

                                      Cheers,

                                      Dominic

                                      OK. I tried this several times but X does not load the driver properly unless if the card into serverlayout and say that there is a screen  connected. I am not sure if I am doing something wrong or not. It would  be great if somebody would copy/paste a working configuration. I am not even able to get this working between 2 radeon cards.