title: How many threads per core are assumed when calculating GFLOPS of Nvidia GPU cards?
body: <p>I am interested in obtaining the number of nano seconds it would take to execute 1 double precision FLOP on GeForce GTX 550 Ti. </p>
  
  <p>In order to do that I am following this approach: I found out that the single precision peak performance of the card is 691.2 GFLOPS, which means the double precision peak performance would be 1/8 of it i.e. 86.4 GFLOPS. Then in order to obtain FLOPS per core, I divide the 86.4 GFLOPS by the number of cores, 192, which gives me 0.45 GFLOPS per core. 0.45 GFLOPS means 0.45 FLOPS per nano second per core. If I am following the correct approach, then I would like to know how many threads per core are run to obtain these GFLOPS numbers and where can I find this info? </p>
  
  <p>Moreover, my small test shown below executes in 236000232 cycles by one thread only. In order to find the time (in nano seconds) it takes to execute 1 iteration of the loop, I do 236000232/10^6 = 236 cycles. The shader clock of the card is 1800Mhz, which means it takes 236/1.8 = 131 nano seconds to execute one iteration of the loop. This number is much bigger than the one above (0.45 nanoseconds per core). I am sure that I am missing something here, because the numbers are very different. Please help me to understand the math behind it. </p>
  
  <pre><code>    __global__ void bench_single(float *data)
  {
      int i;
      double x = 1.;
      clock_t start, end;
      start = clock();
      for(i=0; i&lt;1000000; i++)
      {
          x = x * 2.388415813 + 1.253314137;
      }
      end = clock();
      printf("End and start %d - %d\n", end, start);
      printf("Finished in %d cycles\n", end-start);
  }
  </code></pre>
  
  <p>Thank you, </p>