table of contents
CLCREATEKERNEL(3clc) | OpenCL Manual | CLCREATEKERNEL(3clc) |
NAME¶
clCreateKernel - Creates a kernel object.¶
cl_kernel clCreateKernel(cl_program program, const char *kernel_name, cl_int *errcode_ret);
PARAMETERS¶
programA 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]SEE ALSO¶
clCreateKernelsInProgram(3clc), clRetainKernel(3clc), clReleaseKernel(3clc), clSetKernelArg(3clc), clGetKernelInfo(3clc), clGetKernelWorkGroupInfo(3clc), classDiagram(3clc)AUTHORS¶
The Khronos GroupCOPYRIGHT¶
Copyright © 2007-2011 The Khronos Group Inc.Permission is hereby granted, free of charge, to any person obtaining a copy of this software and/or associated documentation files (the "Materials"), to deal in the Materials without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Materials, and to permit persons to whom the Materials are furnished to do so, subject to the condition that this copyright notice and permission notice shall be included in all copies or substantial portions of the Materials.
NOTES¶
- 1.
- OpenCL Specification
page 157, section 5.7.1 - Creating Kernel Objects
02/03/2019 | The Khronos Group |