Facing problem in error -46 (CL_INVALID_KERNEL_NAME)

When I am running my code it is returning the error:-46 which means the clCreateKernel () is not invoking and i checked the kernel name in my .cl file and in the host code but in both case it is same. But inside my .cl file I am finding some problem with the __kernel

  1. When I put my cursor on the __kernel it is flashing out with Error: this declaration has no storage class or type specifier
  2.                 cursor on the [i]"jac_ker"[/i] it is flashing out with [i]Error: incomplete type is not allowed[/i]
  3.                 cursor on the argument [i]"__global"[/i] it is flashing out with[i] Error: identifier __global is undefined[/i]
  4.                 cursor on the [i]"double*"[/i] it is flashing out [i]Error: expected a ")"[/i]

__kernel void jac_ker(__global double* memobjA,
__global double* memobjU,
int k,int wA,int wU)

I expect some immediate help.
Thank You


It’s hard to tell exactly what is going on here, but I have two things to consider:

  • First, it could be that your IDE (Visual Studio, Eclipse, etc.) doesn’t recognize OpenCL C syntax. If that’s the case, then the errors you see when you put your cursor on OpenCL C source may not really be errors to the OpenCL C compiler.
  • Second, perhaps the CL_INVALID_KERNEL_NAME error is being caused by errors in previous OpenCL API calls. For example, perhaps clCreateProgramWithSource and/or clBuildProgram are failing. Are you checking for errors on these calls?

Hope this helps.