2 Replies Latest reply on Mar 6, 2010 12:43 PM by gaurav.garg

    binary compatibility between R7xx and R8xx

    nou
      clCreateProgramWithBinary()

      now when you can get binaries through clGetProgramInfo() and load it through clCreateProgramWithBinary() it make me wonder about compatibilite between R7xx and R8xx. when i look inside returned binary i found IL code which should be compatible between different ATI GPU. or each GPU has own IL code? and what about Juniper and Cypress.

        • binary compatibility between R7xx and R8xx
          empty_knapsack

          IL isn't binary code (simply by definition, IL == intermediate language). It isn't a big difference to have your source in C99 OpenCL or IL as most time consuming part is "IL to device ISA" compilation.

          And at ISA level there are small differences (of course if you aren't using any R8xx specific instructions otherwise it'll be big differences) between R7xx & R8xx. There are even differences between 710 & 770 binary code or -- in general -- between any targets enumerated by CALtarget in cal.h.

          • binary compatibility between R7xx and R8xx
            gaurav.garg

             

            now when you can get binaries through clGetProgramInfo() and load it through clCreateProgramWithBinary() it make me wonder about compatibilite between R7xx and R8xx. when i look inside returned binary i found IL code which should be compatible between different ATI GPU. or each GPU has own IL code? and what about Juniper and Cypress.


            IL is forward compatible. i.e. IL generated with older cards should compile with new cards but it might not work the other way.