title: what's the difference between a thread in a block and a warp(32 threads)?
body: <p>I have written a program for the string matching test,to test the performance vs cpu.</p>
  
  <p>I just call the kernel by <code>&lt;&lt;&lt;1,1&gt;&gt;&gt;</code>, one block which contains one thread, the execution time is 430ms, and then I use one block two threads <code>&lt;&lt;&lt;1,2&gt;&gt;&gt;</code> to call the kernel, the execution time is 303ms, lastly I call the kernel by the <code>&lt;&lt;&lt;2,1&gt;&lt;&lt;</code>, two blocks and one thread each, and time is just half of 430ms (that is 215ms).</p>
  
  <p>What's the difference between the thread in a block and a warp? What makes one block which contains two threads slower than two blocks one thread each? </p>