12 Replies Latest reply on Sep 8, 2011 8:39 AM by Atmapuri

    Open CL driver failure...

    Atmapuri

      Hi!

      It seems that if a system has NVidia GPU and no AMD graphics card then even the AMD OpenCL CPU target is not working with latest version of AMD APP. (as.exe failed error)

      Regards!
      Atmapuri

        • Open CL driver failure...
          himanshu.gautam

          atmapuri,

          Can you give more details abour your set-up.

          Also did you installed NV driver after installing AMD APP SDK or before?

          • Open CL driver failure...
            MicahVillmow
            Atmapuri,
            This is not a supported or tested configuration. So there is no guarantee that it will work. I would recommend installing Intel's OpenCL SDK instead of AMD's.
              • Open CL driver failure...
                Atmapuri

                Hi!

                If for example we write code which uses Open CL, then we cant run it on computers which dont have an AMD GPU even though you do have a CPU target included in the driver?


                With regards to the Intel driver: it runs only on about 20% of personal computers because it requires SSE4.2 or no more than 2 years old computer.

                I thought initially that AMD driver is the one that will allow the Open CL code to run "anywhere" due to its CPU target support.

                This complicates distribution a whole lot and realy reduces the attractivness of Open CL.


                Any chance to do something about it?

                Thanks!
                Atmapuri

                 

                 

              • Open CL driver failure...
                MicahVillmow
                Although we target CPU devices that support SSE 2 or higher, we only test and support systems that have an AMD components in them. You are using the AMD SDK in an unsupported manner, and so there might be issues where we are not compatible. Other users have had similar issues with this setup, so I would suggest searching the forum for how they resolved it.
                  • Open CL driver failure...
                    Atmapuri

                    Hi!

                    Yes, I see your point. But if you build a road to get people from A to B, and you complete only the section in your little town, it does not serve much to the actual purpose. Why is it so difficult to allow AMD drivers to work on system without AMD components? Clearly the reason cant be technical as you have all the buiding pieces.

                    Thanks!
                    Atmapuri

                      • Open CL driver failure...
                        Atmapuri

                        Hi!

                        >This is an issue of not supporting our competitors products.

                        Or yours in this case. The current AMD Open CL testing policy requires from all developers to have a C++ bypass for all Open CL code thus doubling the work. This makes it simply more expensive to support Open CL hindering its adoption and the potential gains people might experience on AMD products.

                        Thanks!
                        Atmapuri

                          • Open CL driver failure...
                            himanshu.gautam

                            atmapuri,

                            Can you please explain your point.

                              • Open CL driver failure...
                                Atmapuri

                                Hi!

                                Well, I am not sure what exactly is the missing link that needs to be explained, but I will try. There are two types of developers:

                                1.) Write code to run on your own machine

                                2.) Write code to run anywhere as the app is commercially distributed and you cant know in advance what is the machine on which it will run.

                                If you consider point #2 it makes it very handy for AMD APP to provide a CPU Open CL target. This at least in theory makes it possible that you can have the code run on any machine even where GPU is much slower than CPU or where there are no Open CL drivers for the GPU. The CPU target support for Open CL is the "run anywhere" ticket.

                                But as already established, this is not exactly how it works.The CPU target as you explained is not neccessarily functioning on some 70% (?) of machines in the world which do not have an AMD GPU or AMD CPU.

                                Consequently to ensure that the commercial application will run on the vast majority of computers, you still need to implement a C++ version of the algortihm next to the Open CL version.

                                This in turn increases the cost of supporting Open CL.


                                Thanks!
                                Atmapuri

                        • Open CL driver failure...
                          MicahVillmow
                          Atmapuri,
                          We don't do anything to disallow the SDK from working as long as you have a SSE2 CPU, but since this is an unsupported configuration, we don't test it. Since we don't test it, it is not guaranteed to work.

                          You are right that this isn't a technical issue. This is an issue of not supporting our competitors products.

                          There are four different generic setups that you can have, AMD CPU + AMD GPU, AMD CPU + non AMD GPU, non AMD CPU + AMD GPU, non AMD CPU + non AMD GPU.
                          The first three configurations are supported and tested, the last one, which your configuration is, is not tested.

                          I would recommend getting a hold of an AMD GPU, installing the Catalyst driver and then seeing if it detects the CPU. This setup should work fine.