logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

clGetKernelInfo - Returns information about the kernel object.

Authors

TheKhronosGroup

Errors

       Returns CL_SUCCESS if the function is executed successfully. Otherwise, it returns one of the following
       errors:

       •   CL_INVALID_VALUE if param_name is not valid, or if size in bytes specified by  param_value_size is <
           size of return type as described in the table above and param_value is not NULL.

       •   CL_INVALID_KERNEL if kernel is not a valid kernel object.

       •   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.

Name

       clGetKernelInfo - Returns information about the kernel object.

       cl_intclGetKernelInfo(cl_kernelkernel,cl_kernel_infoparam_name,size_tparam_value_size,void*param_value,size_t*param_value_size_ret);

Notes

        1. OpenCL Specification
           page 162, section 5.7.3 - Kernel Object Queries (updated for 1.2 rev 14)

The Khronos Group                                  11/18/2024                              CLGETKERNELINFO(3clc)

Parameters

kernel
           Specifies the kernel object being queried.

        param_name
           Specifies the information to query. The list of supported param_name types and the information
           returned in param_value by clGetKernelInfo is described in the table below.

        param_value
           A pointer to memory where the appropriate result being queried is returned. If param_value is NULL,
           it is ignored.

        param_value_size
           Used to specify the size in bytes of memory pointed to by param_value. This size must be ≥ size of
           return type as described in the table below.
           ┌───────────────────────────┬─────────────┬──────────────────────────────┐
           │ cl_kernel_infoReturnTypeInfo.returnedin            │
           │                           │             │ param_value                  │
           ├───────────────────────────┼─────────────┼──────────────────────────────┤
           │ CL_KERNEL_FUNCTION_NAME   │ char[]      │ Return the kernel function   │
           │                           │             │ name.                        │
           ├───────────────────────────┼─────────────┼──────────────────────────────┤
           │ CL_KERNEL_NUM_ARGS        │ cl_uint     │ Return the number of         │
           │                           │             │ arguments to kernel.         │
           ├───────────────────────────┼─────────────┼──────────────────────────────┤
           │ CL_KERNEL_REFERENCE_COUNT │ cl_uint     │ Return the kernel reference  │
           │                           │             │ count.                       │
           │                           │             │                              │
           ├───────────────────────────┼─────────────┼──────────────────────────────┤
           │ CL_KERNEL_CONTEXT         │ cl_context  │ Return the context           │
           │                           │             │ associated with kernel.      │
           ├───────────────────────────┼─────────────┼──────────────────────────────┤
           │ CL_KERNEL_PROGRAM         │ cl_program  │ Return the program object    │
           │                           │             │ associated with kernel.      │
           ├───────────────────────────┼─────────────┼──────────────────────────────┤
           │ CL_KERNEL_ATTRIBUTES      │ char[]      │ Returns any attributes       │
           │                           │             │ specified using the          │
           │                           │             │ __attribute(3clc)__          │
           │                           │             │ qualifier with the kernel    │
           │                           │             │ function declaration in the  │
           │                           │             │ program source. These        │
           │                           │             │ attributes include those on  │
           │                           │             │ the __attribute(3clc)__ page │
           │                           │             │ and other attributes         │
           │                           │             │ supported by an              │
           │                           │             │ implementation.              │
           │                           │             │                              │
           │                           │             │ Attributes are returned as   │
           │                           │             │ they were declared inside    │
           │                           │             │ __attribute(3clc)__((...)),  │
           │                           │             │ with any surrounding         │
           │                           │             │ whitespace and embedded      │
           │                           │             │ newlines removed. When       │
           │                           │             │ multiple attributes are      │
           │                           │             │ present, they are returned   │
           │                           │             │ as a single, space delimited │
           │                           │             │ string.                      │
           └───────────────────────────┴─────────────┴──────────────────────────────┘

        param_value_size_ret
           the actual size in bytes of data copied to param_value. If param_value_size_ret is NULL, it is
           ignored.

See Also

clCreateKernel(3clc), clCreateKernelsInProgram(3clc), clGetKernelArgInfo(3clc), clRetainKernel(3clc),
       clReleaseKernel(3clc), clSetKernelArg(3clc), clGetKernelWorkGroupInfo(3clc)

Specification

OpenCLSpecification[1]

See Also