title: How can warps in the same block diverge
body: <p>I am a bit confused how it is possible that Warps diverge and need to be synchronized via <code>__syncthreads()</code> function. All elements in a Block handle the same code in a SIMT fashion. How could it be that they are not in sync? Is it related to the scheduler? Do the different warps get different computing times? And why is there an overhead when using <code>__syncthreads()</code>? </p>
  
  <p>Lets say we have 12 different Warps in a block 3 of them have finished their work. So now there are idling and the other warps get their computation time. Or do they still get computation time to do the <code>__syncthreads()</code> function?</p>