I am preparing to ship a set of compiled kernels.
I have followed instructions in the following article to strip out code and intermediate representations from the
Is there anything else I should do to discourage reverse engineering my kernels before I ship?
OpenCL saved binaries can only be expected to work on the same driver and hardware they were generated on. They should not be considered suitable for executable code distribution, unless you control the target machines very tightly (such that they are known to have the same hardware and driver).
Consider SPIR 1.2 or SPIR 2.0 today (and SPIR-V in the future) as a way of distributing your kernels without source. This may limit what hardware you can run on since SPIR x.x support was optional (SPIR-V is not, but there are no shipping drivers yet).
Thanks. I have a CapeVerde card, but I was able to generate binaries for Hawaii arch.
Unfortunately, performance was poor. But the kernels did run on Hawaii.
So, suppose I use SPIR-V instead. Is this more or less "hackable" than a generated binary?