I am getting error -48 which is CL_INVALID_KERNEL after a call to clEnqueueNDRangeKernel. I went to the documentation to find out what this means and am told "kernel is not a valid kernel object." which is basically a tautology to me? Could anyone help me begin to work out what the reasons might be?

Interestingly, if I compile on my Intel CPU the kernel runs fine. I only get this error running on my Nvidia GPU, which also returns Segmentation fault (core dumped).