1 of 1 people found this helpful
Hi, There is no defualt command queue in OpenCL. You have to create command queue at the host side with the options in-order or out of order exeuction. by default all the commands will exeute in -order. But they execute asynchronously between host and the device.
Please check OpenCL spec for more information.
btw... What do you mean by "will execute synchronously" with the code.
CUDA Streams will keep executing on device... And when you say "cudaThreadSynchronize()" - you synch with the device. I dont think Stream0 is any special...
May be, for other non-zero streams you require cudaStreamSychronize()? and for 0 you can use "cudaThreadSynchronize"... Is that what you mean?
You can use "clFinish(comm_Q)" which will tbe effect of calling "cudaStreamSynchronize(stream#)"
Thats straightforward enough..
Please explain your problem in detaill.. .We will give you the solution..