Do the kernel function names have to be unique? Is it ok, if I pass different source code strings to clCreateProgramWithSource but all with the same kernel name? Looks like I will be able to get unique kernel handles with clCreateKernel despite the fact that all kernel functions have the same name. Is it correct?