I'd like to compute the throughput of FFT and IFFT using cuFFT.
I think that it should be O(B n log n) where n is the signal length and B is the batch size.
The throughput in GFLOPs should be = 10^-9 * B * N * log N * c / runtime.
The thing is how to find out c (the constant here).
I found some people use c = 2.5 in the case of FFT, and c = 5 in the case of IFFT. Is this correct?
Asked
Active
Viewed 81 times
0

Sullivan Risk
- 319
- 1
- 4
- 21
-
2The c = 5 number is also used [here](http://www.fftw.org/speed/method.html) which is merely a definition of a benchmark measurement. It's not clear what you mean by "correct". I think c = 5 is commonly used. Note the disclaimer there: "This is not an actual flop count; it is simply a convenient scaling, based on the fact that the radix-2 Cooley-Tukey algorithm asymptotically requires 5 N log2(N) floating-point operations. " – Robert Crovella Feb 08 '16 at 17:18
-
2For the FFT c is 5 for a complex value transform and 2.5 for a real value transform. Closed as a duplicate of an earlier question – talonmies Feb 08 '16 at 18:40
-
Thanks for the answer. – Sullivan Risk Feb 08 '16 at 19:01