Improved generated kernel name.

Now use the index of the device in the context rather than the device_id(pointer), since the latter prevented caching of the kernels by the NVidia SDK