From OpenCL binary to OpenCL source code?

Hi, i want to create a commercial application using OpenCL kernels. In order to hide them, and in order to speed up kernel creation at run time, when i install my application on a PC, i compile the kernel sources (.cl) in binary format and then i remove the sources files. So, my question is, does it exist a way to obtain OpenCL source code starting from the so generated binary files?
Tks to everyone.

I imagine the result would be comparable to disassembling native executables to assembly language, and rebuilding the source of a complicated process from that can take some real effort.

For NVIDIA drivers the OpenCL “binary” format is not actually binary - it is their PTX format, which is an intermediate representation. As with disassembly, you can’t get back the original source code.

On the other hand, your application will no longer be portable - my guess is that it’ll run on NVIDIA cards of the same or newer family as the one you compiled for, but it definitely won’t run on anything else.