Query information about a command-queue.

cl_int clGetCommandQueueInfo(cl_command_queue command_queue,
                             cl_command_queue_info param_name,
                             size_t param_value_size,
                             void *param_value,
                             size_t *param_value_size_ret)

Parameters

command_queue

Specifies the command-queue being queried.

param_name

Specifies the information to query.

param_value_size

Specifies 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. If param_value is NULL, it is ignored.

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_ret

Returns the actual size in bytes of data being queried by param_value. If param_value_size_ret is NULL, it is ignored.

The list of supported param_name values and the information returned in param_value by clGetCommandQueueInfo is described in the table below.

cl_command_queue_info Return Type and Information returned in param_value

CL_QUEUE_CONTEXT

Return type: cl_context

Return the context specified when the command-queue is created.

CL_QUEUE_DEVICE

Return type: cl_device_id

Return the device specified when the command-queue is created.

CL_QUEUE_REFERENCE_COUNT

Return type: cl_uint

Return the command-queue reference count.

The reference count returned with CL_QUEUE_REFERENCE_COUNT should be considered immediately stale. It is unsuitable for general use in applications. This feature is provided for identifying memory leaks.

CL_QUEUE_PROPERTIES

Return type: cl_command_queue_properties

Return the currently specified properties for the command-queue. These properties are specified by the value associated with the CL_COMMAND_QUEUE_PROPERTIES passed in properties argument in clCreateCommandQueueWithProperties.

CL_QUEUE_SIZE

Return type: cl_uint

Return the currently specified size for the device command-queue. This query is only supported for device command queues.

CL_QUEUE_DEVICE_DEFAULT

Return type: cl_command_queue

Return the current default command queue for the underlying device.

Notes

It is possible that a device(s) becomes unavailable after a context and command-queues that use this device(s) have been created and commands have been queued to command-queues. In this case the behavior of OpenCL API calls that use this context (and command-queues) are considered to be implementation-defined. The user callback function, if specified, when the context is created can be used to record appropriate information in the errinfo, private_info arguments passed to the callback function when the device becomes unavailable.

Errors

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

  • Returns CL_INVALID_COMMAND_QUEUE if command_queue is not a valid command-queue.

  • Returns CL_INVALID_VALUE if param_name is not one of the supported values or if size in bytes specified by param_value_size is less than size of return type and param_value is not a NULL value.

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

Also see

Specification