clCreateKernel3clc
Creates a kernel object.
cl_kernel clCreateKernel(cl_program program, const char *kernel_name, cl_int *errcode_ret);
Parameters
program
A program object with a successfully built executable.
kernel_name
A function name in the program declared with the __kernel qualifier
errcode_ret
Returns an appropriate error code. If errcode_ret is NULL, no error code is returned.
Notes
A kernel is a function declared in a program. A kernel is identified by the functionQualifiers(3clc) qualifier applied to any function in a program. A kernel object encapsulates the specific __kernel function declared in a program and the argument values to be used when executing this __kernel function.
Errors
clCreateKernel returns a valid non-zero kernel object and errcode_ret is set to CL_SUCCESS if the kernel object is created successfully. Otherwise, it returns a NULL value with one of the following error values returned in errcode_ret:
• CL_INVALID_PROGRAM if program is not a valid program object.
• CL_INVALID_PROGRAM_EXECUTABLE if there is no successfully built executable for program.
• CL_INVALID_KERNEL_NAME if kernel_name is not found in program.
• CL_INVALID_KERNEL_DEFINITION if the function definition for __kernel function given by kernel_name such as the number of arguments, the argument types are not the same for all devices for which the program executable has been built.
• CL_INVALID_VALUE if kernel_name is NULL.
• CL_OUT_OF_RESOURCES if there is a failure to allocate resources required by the OpenCL implementation on the device.
• CL_OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL implementation on the host.
Specification
OpenCL Specification[1]
Notes
- 1.
-
OpenCL Specification
page 157, section 5.7.1 - Creating Kernel Objects
Releases
5 releases since Debian 8 (Jessie); the text changed 3 times.