How to protect OpenCL code from stealing?

I use OpenCL in my program, and i need to protect opencl code from reading by other users. Compile code to binary maybe the option, but if exist some way to decompile it, this option is useless. I cant allow to somebody steal my opencl code. How i can do opencl protection? Thanks!

‘any’ program, CPU or GPU, can be decompiled, as the user has to be able to read it to be able to execute it. You can offer your program as a service, where users send you input data, you run your program and send them the results.

You can have a look at OpenCL SPIR, which is a intermediate representation of OpenCL code. More info in this Khronos press release and on AnandTech.