C Specification
The cl_mutable_ structure is passed to
clUpdateMutableCommandsKHR to set the kernel configuration of a mutable
clCommandNDRangeKernelKHR command, and is defined as:
// Provided by cl_khr_command_buffer_mutable_dispatch
typedef struct cl_mutable_dispatch_config_khr {
cl_mutable_command_khr command;
cl_uint num_args;
cl_uint num_svm_args;
cl_uint num_exec_infos;
cl_uint work_dim;
const cl_mutable_dispatch_arg_khr* arg_list;
const cl_mutable_dispatch_arg_khr* arg_svm_list;
const cl_mutable_dispatch_exec_info_khr* exec_info_list;
const size_t* global_work_offset;
const size_t* global_work_size;
const size_t* local_work_size;
} cl_mutable_dispatch_config_khr;
Members
-
command is a mutable-command object returned by clCommandNDRangeKernelKHR representing a kernel execution as part of a command-buffer.
-
num_args is the number of kernel arguments being changed.
-
num_svm_args is the number of SVM kernel arguments being changed.
-
num_exec_infos is the number of kernel execution info objects to set for this dispatch.
-
work_dim is the number of dimensions used to specify the global work-items and work-items in the work-group. May be set to zero to signify the number of dimensions is not changed. See clEnqueueNDRangeKernel for valid usage.
-
arg_list is an array describing the new kernel arguments for this enqueue. It must contain num_args array elements, each of which encapsulates parameters passed to clSetKernelArg. See clSetKernelArg for usage of
cl_mutable_members.dispatch_ arg_ khr -
arg_svm_list is an array describing the new SVM kernel arguments for this enqueue. It must contain num_svm_args array elements, each of which encapsulates parameters passed to clSetKernelArgSVMPointer. See clSetKernelArgSVMPointer for usage of
cl_mutable_members,dispatch_ arg_ khr arg_sizeis ignored. -
exec_info_list is an array containing num_exec_infos elements specifying the list of execution info objects use for this command-buffer enqueue. See clSetKernelExecInfo for usage of
cl_mutable_members.dispatch_ exec_ info_ khr -
global_work_offset can be used to specify an array of work_dim unsigned values that describe the offset used to calculate the global ID of a work-item. If global_work_offset is
NULLthen the global offset of the dispatch is not changed. See clEnqueueNDRangeKernel for valid usage. -
global_work_size points to an array of work_dim unsigned values that describe the number of global work-items in work_dim dimensions that will execute the kernel function. If global_work_size is
NULLthen the number of global work-items in the dispatch is not changed. See clEnqueueNDRangeKernel for valid usage. -
local_work_size points to an array of work_dim unsigned values that describe the number of work-items that make up a work-group that will execute the kernel. If local_work_size is
NULLthen the number of local work-items in the dispatch is not changed.
Document Notes
For more information, see the OpenCL Specification
This page is extracted from the OpenCL Specification. Fixes and changes should be made to the Specification, not directly.