- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I writing opencl program where i use "enqueue_kernel" command. this command need as parameter device queue.
if i call :
cl_command_queue_properties properties = {CL_QUEUE_PROPERTIES, CL_QUEUE_ON_DEVICE | CL_QUEUE_ON_DEVICE_DEFAULT, CL_QUEUE_SIZE, 20000,0};
cl_queue_properties queue_properties[] = {
CL_QUEUE_PROPERTIES, properties, 0 };
wsp_p->queue = clCreateCommandQueueWithProperties (wsp_p->opencl->ctx, wsp_p->opencl->device,queue_properties, &err);
queue are created , and some kernels(without enqueue_kernel() call) are executed.
but if i call
clSetKernelArg (ocl_prog->kernel, 3, sizeof(cl_command_queue),
&ocl_data->queue);
it return -70 (invalid device queue).
It seems, that always host side command queue are created
I read the number of max device queues via :
err = clGetDeviceInfo (ocldev.device, CL_DEVICE_MAX_ON_DEVICE_QUEUES,
sizeof(cl_uint), &c,
&ret_param_size);
but the result is 0.
I am wondering , because the opencl spec says :
CL_DEVICE_MAX_ON_DEVICE_QUEUES
:
The maximum number of device queues that can be created for this device in a single context.
The minimum value is 1.
attached is the log of clinfo.
any idea ?
best regards
Andreas
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I wrote this to wrong forum. I added it to the GPU forum.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page