OpenCL: Synchronization using memory operations -


if tries use clenquyereadbuiffer after enqueuing kernel , not bad since, copying operation start after kernel enqueued, , not executed?

clenqueuendrangekernel( queue, kernel, 1, null, globalws, localws, 0, null, null);   //this start immediately, since above call async clenqueuereadbuffer( queue, bufferout, cl_false, 0, 10 * sizeof(int), out, 0, 0, 0); clfinish(queue); 

in above although because of clfinish(queue), guaranteed host see data after complete data copied, how guaranteeing data self correct, (since data copying started after enqueuing of kernel). there wrong in understanding?

if command queue in order works fine. read operation not commence until kernel has finished execution.

in out of order command queue results undefined.

how know if command queue in order or out of order? it's out of order if specify flag cl_queue_out_of_order_exec_mode_enable while calling clcreatecommandqueue. if use must manually set sync points.

you don't have put clfinish there. can specify cl_true third argument clenqueuereadbuffer becomes blocking read. means implementation wait until commands enqueued before readbuffer finished, reads , returns when data valid , read finished.


Comments

Popular posts from this blog

java - How to specify maven bin in eclipse maven plugin? -

single sign on - Logging into Plone site with credentials passed through HTTP -

php - Why does AJAX not process login form? -