7 Replies Latest reply on Feb 20, 2012 2:43 PM by azrael5

    AMD OpenCL driver supports Intel's CPU products?

    burito

      I own an AMD 4870x2 and an Intel Core2Duo E8600. I have the AMD Drivers version 12.1, the AMD APP SDK v2 and the Intel OpenCL 1.5 SDK installed.

       

      As expected, OpenCL reports two platforms present. The Intel platform as expected reports a single device as expected. The AMD platform reports 3 devices.

       

      The first two, devices 0 and 1 are ATI RV770's as expected.

       

      Device 2 however is a bit of a curve ball. My Core2Duo. The CL_DEVICE_VENDOR string is "GenuineIntel".

       

      I find it a bit questionable that AMD is shipping drivers for a competitors products, especially as they are quite crippled in comparison to the drivers Intel provide. From my testing on the Nvidia OpenCL devices, I have not encountered their drivers attempting to provide OpenCL devices for CPUs.

       

      As there are OpenCL applications out in the wild that do not check that the CL_DEVICE_VENDOR string matches the CL_PLATFORM_VENDOR string, is there a method to disable the AMD OpenCL drivers attempts to support non-AMD devices?

        • Re: AMD OpenCL driver supports Intel's CPU products?
          lantonov

          The AMD SDK supports all x86 processors that have SSE 2.x + instructions. I think if you look through the documentation you will see it stated there. Intel CPUs work fine with AMDs SDK, although in my experience there is a speed difference. As far as I know there is no way to disable a device that is supported by the ICD.

          • Re: AMD OpenCL driver supports Intel's CPU products?
            thesmileman

            You as the developer are the one who decides which platform and which device you use so if you are using a platform which is from a different manufactured than the device you are making that choice not AMD. You can clearly how to read the vendor ID and the platform ID so why would you not do this yourself if you are so concerned? You seem to have the answer yourself, simply check the vendor ID and then don't use that platform so you know how to do it, you have even looked into the problem but you are complaining that AMD has chosen to not restrict you to their hardware. I guess you can't win for loosing can you.

             

            Intel is checking for support of SSE instruction version which is higher than AMD currently supports. They have clearly done this as a defendable way to not have their driver work on other platforms. They easily could have lowered the SSE requirement. It will be interesting as AMD is now going to support AVX instructions.

             

            I have used the AMD driver in production with intel chips which are not supported by intel and it works just fine. As you can expect the performance is not as good as they do not optimize for hardware they do not make but it is still very good so you seem to be having concerns which are unfounded.

             

            Since AMD is targeting X86 and SSE instructions which are common and well defined standards used everyday by multiple vendors and software developers I see little concern here. You have a choice and even if you didn't AMDs driver works just fine on Intel hardware.

             

            I don't understand your comment "especially as they are quite crippled"

            • Re: AMD OpenCL driver supports Intel's CPU products?
              azrael5

              Will be the posibility HD3850 get Opencl support by adequate drivers?