title: C++ AMP with fast GPUs slower than CPU
body: <p>I'm just starting to learn C++ AMP and I've obtained a few examples that I've built with the VS 2012 RC, but I'm finding that the performance of the GPU is slower than the CPU.  For instance, the examples by Kate Gregory: <a href="http://ampbook.codeplex.com/releases/view/90595">http://ampbook.codeplex.com/releases/view/90595</a> (relevant to her upcoming book <a href="http://www.gregcons.com/cppamp/">http://www.gregcons.com/cppamp/</a>).  They were demonstrated by her in a lecture I watched where she obtained a ~5x performance improvement for the chapter 4 example by using her laptop's GPU (I believe she said it was a 6650) compared to CPU (not sure what CPU she had).  I've tried testing the example myself and on a  couple of system configurations (as below) I've always found the CPU to be faster.  I've also tested other examples and found the same.  Am I doing something wrong?  Is there a reason for the slower than expected performance?  Does anyone have an example that would definitely show the GPU being faster?</p>
  
  <ul>
  <li>System 1: Intel i7 2600K with onboard graphics (I expect this to be
  slower)</li>
  <li>System 2: Intel i7 2630QM with Intel HD switchable with AMD
  6770 (I have it running in performance mode so it should be using the
  6770)</li>
  <li>System 3: Intel i5 750 with 2xCrossfire AMD HD 5850</li>
  </ul>
  
  <p>Example of results: chapter4 project results in 1.15ms CPU, 2.57ms GPU, 2.55ms GPU tiled.</p>
  
  <p><strong>Edit</strong>:</p>
  
  <p>Doh, I think I just found the reason why - the values for the size of the matrices she used in the lecture were different.  The sample on the website uses M=N=W=64.  If I use 64, 512 and 256 as she did in the lecture then I get the corresponding ~5x increase in performance.</p>