title: CUDA Perfomance Profiling with Nvidia NSight in VS2010 - .nvreport report file
body: <p>I did a trace of application</p>
  
  <p>In this report file:</p>
  
  <p><strong>1.</strong> </p>
  
  <p>When I select "CUDA -> CUDA Summary" in the drop down </p>
  
  <p>Under the <strong>Runtime API calls</strong> item in the table</p>
  
  <p>% <strong>Time</strong> - 80.66</p>
  
  <p>Launches</p>
  
  <p>% <strong>Device Time</strong> - 15.46</p>
  
  <p>All the other time percentages are nearly 0%</p>
  
  <p>so my question here is that where is the rest of the 19.34% of <strong>Time</strong> and 84.54% of <strong>Device Time</strong>? That is, if they mean percentage to completely different <strong>'Total Time'</strong> values? </p>
  
  <p><strong>2.</strong></p>
  
  <p>I used thrust vectors to copy back and forth my data. In the <strong>"Memory Copy"</strong> section of this report, all the % Time values for memo copy for my run are apparently negligible. </p>
  
  <p>But guess what, when I click the 'summary' link of the <strong>Runtime API Calls</strong> (which has its % Time value as high as 80.66), I immediately see that the culprit - 'cudaMemcpy' with its 'Capture Time %' value as high as 73.75 in this <strong>'Runtime API Calls Summary'</strong> page. </p>
  
  <p>so my question here is that </p>
  
  <ul>
  <li>does this mean that my bottle neck are still those call to thrust::copy(), even the "Memo Copies" section of the report doesn't show it?</li>
  <li>and how can I really find the exact function call that is the most expensive to me in general?</li>
  <li>how does timeline feature help with any of these?</li>
  </ul>