I want it to be extremely specific, since I am embedding the binary (device-specific) kernel code in the source.  I could relax this and count of the fallback to source code when the device changes, but I feel that to be sub-optimal.

There is no equivalent to the architecture version on OpenCL.