Hi, I'm using FFTW. First of all I inform you that I have overcome my "Altivec assist" problem through a modification of simd-altivec.h. In particular I have defined #define VLITF(x0, x1, x2, x3) (vector float)(x0, x1, x2, x3) #define VLITUI(x0, x1, x2, x3) (vector unsigned int)(x0, x1, x2, x3) and I have used VLITF or VLITUI on the two cases of "float" and "unsigned int" data. Now I'm using FFTW on PowerPC processor. I have compare values returned by "FFTW" and "FFTComplex" and there is coherence. I have measure the velocity of FFTW but it is very slow. In particular for a fft of length 1024 the time results are: FFTW : 38.6 ns FFTComplex: 18.6 ns I have tried all methods of fftw (Measure, Estimate, Patient and Exaustive) but the velocity is the same. I have tried "fftwf_set_timelimit" with different values of "seconds" but the result is the same. I'm disappointed about the obtained results. Have you got any suggests to improve the FFTW's velocity? Thanks Massimo
FFTW velocity
Started by ●November 23, 2006
Reply by ●November 23, 20062006-11-23
m.baldasseroni wrote:> I have measure the velocity of FFTW but it is very slow. In particular > for a fft of length 1024 the time results are: > > FFTW : 38.6 ns > FFTComplex: 18.6 nsI assume you mean microseconds, not nanoseconds. You don't really provide enough information to help you, but I would suggest checking www.fftw.org/speed to see whether your results are in line with our own benchmarks on PowerPC (andl also questions 3.3 and 3.4 in the FFTW FAQ). For complex data, FFTW is comparable to Apple's vDSP library, so I'd be surprised if there were another Altivec FFT that were better by a factor of two. You might also try create plans with and without FFTW_NO_SIMD to disable the SIMD; if this doesn't make a big difference in the speed, then you didn't enable Altivec correctly. Good luck, Steven G. Johnson PS. You mean "speed", not "velocity". These are not synonyms in this context.
Reply by ●November 24, 20062006-11-24