[Speex-dev] MKL Patch

Thorvald Natvig thorvald at natvig.com
Tue May 27 14:45:01 PDT 2008

Alexander Chemeris wrote:
> Hi,
> On 5/27/08, Thorvald Natvig <thorvald at natvig.com> wrote:
>>  And here's a patch for Intel Math Kernel Library. This allows commercial
>> users of Speex to use a high-speed FFT library that isn't GPL'd. (You do
>> need to pay for it though). This is 3 times faster than the default FFT in
>> speex, and also faster than FFTW3 since MKL has native support for the
>> complex packing Speex uses.
> That's definitely cool, but from what I can see on this FAQ I do need to pay
> if I'm willing to use it for commercial purposes:
> http://www.intel.com/cd/software/products/asmo-na/eng/266854.htm
> Btw, have you benchmarked speex with this and without this optimization
> as a hole and how much percents do you achieve? I assume FFT is a big
> portion of Speex's CPU load, but it would be great to see numbers. :)
Yes, MKL is commercial software and you do need to pay for it, but 
unlike FFTW it's not GPL. FFTW is useless for any closed-source program 
that wishes to use Speex, so this is the non-GPL alternative.

Speex itself doesn't use FFT, it's only used for the preprocessor and 
the echo canceller. The last time I benchmarked, FFTs were about 60% of 
the preprocessor CPU (and 64% was mentioned in the IRC channel). So in 
theory, using MKL will halve the CPU requirement of the preprocessor.

More information about the Speex-dev mailing list