Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

computation time for 1024 pt complex FFT using MKL_FFT

rakesh
Beginner
478 Views

HI,

i have been evaluating FFT of MKL.while computing , FFT takes approx. 1 milisecond which is too high.

i'm using following part of code to measure time of fft computation.

s_initial=dsecnd();

fft computation;

s_elapsed=dsecnd()-s_initial;

printf("time in milisec=%f",s_elapsed*1000);

can any one tell me how to reduce time compuation time gurther.

i'm using intel processor.

Thanks,

0 Kudos
6 Replies
Dmitry_B_Intel
Employee
478 Views
This size FFT *computation* should take on the order of 10 microseconds. If timing includes the planning/commit time, then it will take longer, of course. Yet, 1 millisecond is very large. Dima
0 Kudos
TimP
Honored Contributor III
478 Views
Timing such short intervals is impractical in Fortran on Windows. It's possible but ugly to interface with QueryPerformanceCounter (less ugly, call a C function invoking __rdtsc()). Under linux, I would suggest system_clock with integer(8) arguments.
0 Kudos
Gennady_F_Intel
Moderator
478 Views
actually dsecnd() is wrapper for __rdtsc, therefore customer can use this timing routine even for this short intervals too.
0 Kudos
rakesh
Beginner
478 Views
Thanks a lot .
0 Kudos
rakesh
Beginner
478 Views
Hi, earlier i was calculating for only one iteration once i increased the no of iteration from one to 100 the calculation time reduced in the order of microsecond. now i get computation time around 0.02 ms(approx) for 1024 pt complex FFT.
0 Kudos
Bernard
Valued Contributor I
478 Views

rakesh wrote:

Hi,
earlier i was calculating for only one iteration once i increased the no of iteration from one to 100 the calculation time reduced in the order of microsecond. now i get computation time around 0.02 ms(approx) for 1024 pt complex FFT.

While measuring time needed to complete 4096 sine values FFT routine I got ~121245 nanoseconds i.e 121 microseconds.Compiler intrinsic __rdtsc() was used and averaged.I hope that time interval needed to complete the FFT calculation was not influenced by the rdtsc latency which is thousand times slower.

0 Kudos
Reply