title: Commenting clfinish() out makes program %100 faster
body: <p>I have an opencl kernel batch class that enqueues more than 40 kernels and there is a clFinish() between each kernel execution.</p>
  
  <p><strong>Question:</strong> When I comment out the clFinish()s then program runs %100 faster, does this mean there are undefined behaviours between kernels when they use same buffers to write and read? I suspect performance increase comes from better utilisation of resources of gpu/occupation. Does using an <strong>in-order command queue</strong> guarantee a barrier between two kernels or do I need a clFinish() between them?</p>
  
  <p>Its a simple physics model and no differency is visible between two versions.</p>
  
  <p>Maybe I just need to use clFinish() at the end? </p>
  
  <p><strong>Edit:</strong> This command queue is not using CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE.</p>