All operations which are enqueued into the same command queue are executed as one group, but at which point exactly is a command queue executed?
Is it when the first operation in the queue is enqueued? This is important in the context of the following kind of situations:
1. Create command queue CQ.
2. Enqueue operations Ops.
3. Wait for Ops to have finished.
4. if ( condition on the output of Ops)
Enqueue operation A in CQ
Enqueue operation B in CQ.
This seems impossible, since CQ has to be created as a whole before Ops can be executed, therefore one has to know in advance whether A or B is a part of it. Is this correct? That would make it quite cumbersome to write conditional statements and loops, since everytime a new command queue has to be created.