title: Calculating performance of CUFFT
body: <p>I am running CUFFT on chunks (N*N/p) divided in multiple GPUs, and I have a question regarding  calculating the performance. First, a bit about how I am doing it:</p>
  
  <ol>
  <li>Send N*N/p chunks to each GPU</li>
  <li>Batched 1-D FFT for each row in p GPUs</li>
  <li>Get N*N/p chunks back to host - perform transpose on the entire dataset</li>
  <li>Ditto Step 1 </li>
  <li>Ditto Step 2</li>
  </ol>
  
  <p><code>Gflops = ( 1e-9 * 5 * N * N *lg(N*N) ) / execution time</code></p>
  
  <p>and Execution time is calculated as:</p>
  
  <p><code>execution time = Sum(memcpyHtoD + kernel + memcpyDtoH times for row and col FFT for each GPU)</code></p>
  
  <p>Is this the correct way to evaluate CUFFT performance on multiple GPUs? Is there any other way I could represent the performance of FFT?</p>
  
  <p>Thanks.</p>