[Speex-dev] MKL Patch

Thorvald Natvig
Tue, 27 May 2008 21:45:01 -0000

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.