Home My Page Projects MPTK: The Matching Pursuit ToolKit
Summary Activity Forums Tracker Lists Docs News SCM Files

Forum: help

Monitor Forum | Start New Thread Start New Thread
RE: Speed [ Reply ]
By: RĂ©mi Gribonval on 2009-02-02 13:16
Dear Corey,

For sure, MPTK is *much* faster than many implementations of MP by using many tricks to speed up the update of inner products at each iteration. We observed about a speed factor of 100 for large audio datasets (the speedup is less important on smaller signals).

Yet, the computation time heavily depends on many factors, including the target SNR / number of iterations, the size of the analyzed signal, but also the type of dictionary used and its overcompleteness (number of atoms / signal length).

The 0.25x realtime you are referring to was obtained with a mildly (3 times) overcomplete time-frequency dictionary, associated with really fast transforms thanks to the FFT.

Here you are using "anywave" dictionaries, which are made of arbitrary waveforms and their shifted versions. This is the most computationally demanding type of dictionary, even though we did our best to use all the tricks we know of. MPTK implementation is already much faster than a naive implementation, but the sad truth is that it is still "slow" :(

Now there are still some tricks which are not necessarily well documented and which may help, such as gathering all the waveforms in a single wavetable rather than using one wavetable per waveform. This can factor together a number of FFTs and speed things up a bit.

I hope this helps,

Best regards,


Speed [ Reply ]
By: Corey Kereliuk on 2009-01-26 17:14
Well, I've managed to get some things working!
I have a question about speed, now....

I am getting nowhere near 0.25*realtime speed on the files i am processing (setting limit at 20db SNR).

Are there any tricks for speeding things up? Perhaps something with the FFT wisdom file, or some other tricks i am unaware of.