[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[1] page, i got in parallel a forward fftw3 with a 
fftw2 and they seem to work fine.

[1] http://iua-share.upf.edu/wikis/clam/index.php/Image:FFTW3.png

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 mailing list