I've created multiple OpenCL queues with clCreateCommandQueue().
cl_int ret_code = CL_SUCCESS;
cl_command_queue queue1 = clCreateCommandQueue(GPU_context, GPU_device_ID, CL_QUEUE_PROFILING_ENABLE, &ret_code);
...
cl_command_queue queueN = clCreateCommandQueue(GPU_context, GPU_device_ID, CL_QUEUE_PROFILING_ENABLE, &ret_code);
All queues are created with no errors. One of that queues has no commands within for a moment. All kernels execution goes fine, etc. Finally i need to release queues I created. All clFinish() goes ok except one - which waits for queue, that has no commands within (say, queueN has no commands within). So that
clFinish(queue1);
...
clFinish(queueK);
returns correctly, but
clFinish(queueN);
Hangs forever. What can be the solution?
OS is Ubuntu 12.04 x64. GPU is GeForce GTS450. OpenCL SDK 1.1