title: Calculating achieved bandwidth and flops/Gflops, and evaluate CUDA kernel performance
body: <p>Most of the papers show the flops/Gflops and achieved bandwidth for their CUDA kernels. I have also read answers on stackoverflow for the following questions:</p>
  
  <p><a href="https://stackoverflow.com/questions/11912703/how-to-evaluate-cuda-performance">How to evaluate CUDA performance?</a></p>
  
  <p><a href="https://stackoverflow.com/questions/2204527/how-do-you-profile-optimize-cuda-kernels">How Do You Profile &amp; Optimize CUDA Kernels?</a></p>
  
  <p><a href="https://stackoverflow.com/questions/7875607/how-to-calculate-gflops-of-a-kernel">How to calculate Gflops of a kernel</a></p>
  
  <p><a href="https://stackoverflow.com/questions/2795336/counting-flops-gflops-in-program-cuda">Counting FLOPS/GFLOPS in program - CUDA</a></p>
  
  <p><a href="https://stackoverflow.com/questions/7876006/how-to-calculate-the-achieved-bandwidth-of-a-cuda-kernel">How to calculate the achieved bandwidth of a CUDA kernel</a></p>
  
  <p>Most of the things seem ok, but still does not make me feel comfortable in calculating these things. Can anyone write a simple CUDA kernel? Then give the output of deviceQuery. Then compute step by step the flops/Gflops and achieved bandwidth for this kernel. Then show the Visual Profiler results for this kernel. I.e. show the results in detail with all the information obtained step by step for this simple CUDA kernel. That would be really helpful for most of us. Thanks!</p>