Awax
No favorite files added yet
(Jun 13, 2008 - 6:25 PM)
To me, OpenCL is a LLVM abstraction spanning on both x86 CPU, NVidia CUDA and AMD close to the metal API.
You write your computing intensive task using Open Computing LANGUAGE, then compile it to OpenCL bytecode. And, at runtime, a JIT compiler specific to your own hardware (which CPU do you have, which GPU) compiles that byte into actual machine code optimized for your actual hardware.
Apple already does this in Leopard for OpenGL, balancing the graphic computation between the CPU and the GPU depending of the hardware available and the current execution context using LLVM.