FFT in D (using SIMD) and benchmarks
bearophile
bearophileHUGS at lycos.com
Tue Jan 24 18:31:47 PST 2012
a:
> I have updated the graph now.
Thank you, it's a very nice graph. The reference lines of FFTW help. From how much AVX improves the situation I see Intel engineers know their work; I didn't know AVX is able to bring such performance improvement (in carefully written code).
> The C++ version of my FFT also supports AVX and gets to
> about 24 GFLOPS when using it.
So your FFT code is rather good, despite being so much simpler and shorter than FFTW code :-) Your code seems good to replace Phobos std.numeric.fft(), if you will ever want to donate your FFT code to Phobos.
> If AVX types will be added to D, I will port that part too.
Walter has added support for YMM registers too in D/DMD, so I presume having AVX1 instructions are quite an option. I presume we will have them too. But ask Walter for more details on this.
And hopefully we'll see good implementations of this algorithm too :-)
http://web.mit.edu/newsoffice/2012/faster-fourier-transforms-0118.html?tmpl=component&print=1
Bye,
bearophile
More information about the Digitalmars-d
mailing list