[Clam-devel] FFTW 3 and FFT changes
David García Garzón
dgarcia at iua.upf.edu
Thu Feb 15 01:16:21 PST 2007
Yesterday I did an spike on migrating to FFTW3. As you can see in the
development screenshots page, i got in parallel a forward fftw3 with a
fftw2 and they seem to work fine.
The changes are somewhat trivial and FFTW3 is said to be faster and more
accurate than FFTW2. Good news, but this also implies that if we substitute
implementations some B2B tests which depend on the FFT might fail. Besides
that, this also implies adding configure actions on the SCons script and
building binaries on windows. So i added an option (with_fftw3) that is
disabled by default until we get it fully working and we could decide whether
we should drop FFTW2.
I also changed the way CLAM::FFT was defined. Now CLAM::FFT is a subclass of
the default implementation which depends on the availability. Being a
subclass instead of a typedef enables using 'FFT' as NetEditor type while
using 'FFT_ooura' if you want to choose a concrete implementation.
So, low grain TODO's regarding FFTW3 are:
- implement IFFT_fftw3,
- implement tests and check dependant B2B,
- compare performance,
- compile in windows and mac and update the install,
- update packages dependencies,
- optionally remove fftw2.
More information about the clam-devel