internal static Kernels CreateInternal(CommandQueue commandQueue, Program program, Int32 kernelsCount, Int32 kernelInfoBufferSize) { Validate(commandQueue, program); Int32 numKernelsRet = 0; CLKernel[] openclKernels = new CLKernel[kernelsCount]; OpenCLError.Validate(OpenCLDriver.clCreateKernelsInProgram(program.CLProgram, openclKernels.Length, openclKernels, ref numKernelsRet)); Kernel[] result = new Kernel[numKernelsRet]; for (int i = 0; i < numKernelsRet; i++) { result[i] = new Kernel(openclKernels[i], program, commandQueue, kernelInfoBufferSize); } return(new Kernels(result)); }