2 ms·
Sorry for replying a bit late. For FFTs, flops are measured in a standardized way. If you are doing an FFT of length N, the number of flops is counted as 5 N lo
by vizard 18y ago
Sorry for replying a bit late. For FFTs, flops are measured in a standardized way. If you are doing an FFT of length N, the number of flops is counted as 5 N log N no matter how the actual FFT is computed. So, in the case of FFT, really you just specify a length N and measure the time.
For CPUs, the numbers using FFTW, one of the fastest FFT libraries that does take advantage of SIMD, the numbers usually do not exceed 5-6 gflops particularly for larger lengths.
OTOH, the above 55 gflops figure is also somewhat misleading since it does not include transfer time of data b/w RAM and GPU. Actual throughput is somewhere around 20gflops. On one particular project using FFT, I got around 15 gflops using GPU including transfer time while testing several FFT libraries, I never got above 3 gflops on a 2.4ghz quad-core using all four cores. The lenghts were big enough not to fit into cache thus reducing CPU performance considerably.