SPIR is for this http://www.khronos.org/registry/spir/
At least AMD cards support it. But you cannot use it as a whole right now.
Right now there is no other way than to provide the kernel in the form of the text of your program if you want to distribute it as a whole to consumers. I would not worry too much about the visible cores. Without calls and documentation of the OpenCL API, they are simply useless. It takes more time for someone to redesign them than to do the same from scratch. This is similar to OpenGL shaders in games, which are also in raw text format.
source
share