I have one doubt. Is the HD5750(or any HD5xxx series GPUs) are pure SIMD processors.
Typically a SIMD has following definition (taken from OpenCL specifications document):
SIMD: Single Instruction Multiple Data. A programming model where a kernel is executed
concurrently on multiple processing elements each with its own data and a shared program
counter. All processing elements execute a strictly identical set of instructions.
That means all the cores will share same program counter. Is that right in the HD5xxx series GPUs?
If all the cores share the same program-counter, how is is possible to run some if-branch code (with varying data input to each core) on the GPU?
thanks & regards