Scroll to navigation



clGetCommandQueueInfo - 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);



Specifies the command-queue being queried.


Specifies the information to query.


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.


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


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. 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 properties argument in clCreateCommandQueue(3clc).


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.


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

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


OpenCL Specification[1]


clCreateCommandQueue(3clc), clReleaseCommandQueue(3clc), clRetainCommandQueue(3clc)


The Khronos Group


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.


OpenCL Specification
page 63, section 5.1 - Command Queues
01/14/2021 The Khronos Group