clCreateProgramWithBuiltInKernels3clc
Creates a program object for a context, and loads the information related to the built-in kernels into a program object.
cl_program clCreateProgramWithBuiltInKernels(cl_context context, cl_uint num_devices, const cl_device_id *device_list, const char *kernel_names, cl_int *errcode_ret);
Parameters
context
Must be a valid OpenCL context.
num_devices
The number of devices listed in device_list.
device_list
A pointer to a list of devices that are in context. device_list must be a non-NULL value. The built-in kernels are loaded for devices specified in this list.
The devices associated with the program object will be the list of devices specified by device_list. The list of devices specified by device_list must be devices associated with context.
kernel_names
A semi-colon separated list of built-in kernel names.
Errors
Returns a valid non-zero program object and errcode_ret is set to CL_SUCCESS if the program object is created successfully. Otherwise, it returns a NULL value with one of the following error values returned in errcode_ret:
• CL_INVALID_CONTEXT if context is not a valid context.
• CL_INVALID_VALUE if device_list is NULL or num_devices is zero;
• CL_INVALID_VALUE if kernel_names is NULL or kernel_names contains a kernel name that is not supported by any of the devices in device_list.
• CL_INVALID_DEVICE if devices listed in device_list are not in the list of devices associated with context.
• 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 135, section 5.6.1 - Creating Program Objects
Releases
5 releases since Debian 8 (Jessie); the text changed 3 times.