I’ve posted an example and explanation here 3 a while ago.
The CUDA kernels could run in parallel, if enough resources are free and if the CPU is fast enough to run ahead in order to schedule the next kernel launch while the first one is still being executed.