Creates a kernel object.
cl_kernel clCreateKernel(cl_program program,
const char *kernel_name,
cl_int *errcode_ret)
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.
A kernel is a function declared in a program.
A kernel is identified by the kernel
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.
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
ifprogram
is not a valid program object. -
CL_INVALID_PROGRAM_EXECUTABLE
if there is no successfully built executable forprogram
. -
CL_INVALID_KERNEL_NAME
ifkernel_name
is not found inprogram
. -
CL_INVALID_KERNEL_DEFINITION
if the function definition for__kernel
function given bykernel_name
such as the number of arguments, the argument types are not the same for all devices for which theprogram
executable has been built. -
CL_INVALID_VALUE
ifkernel_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.