FFTmtX
by John Iversen
10 Sep 2007
(Updated 20 Jul 2009)
Performs vectorized FFT on multiple processors. New: single and double precision.
|
Watch this File
|
| File Information |
| Description |
This is an extension of the original FFTmt to perform single-precision fft as well as double-precision.
These mex-files perform vectorized FFT on multiple threads by breaking down the FFT of a large matrix into smaller parts. Each part can be performed in parallel, on a different core, for speed:
About 3x faster on a quad-core machine. Single precision is about 2x faster than double, so you can increase FFT speed up to 6x.
Also added: Drop-in replacements for fft.m and ifft.m that automatically choose between the builtin and multithreaded FFT depending on which will be fastest for a given matrix size. If you use these replacement mfiles, any code that calls FFT will benefit from multithreaded FFT. You won't have to change any other code to see the speed benefits.
Includes pre-built mexfiles for intel OS X, but source is included to easily build for other platforms. Also includes a variety of other support for building and debugging on OS X.
Based on the original FFTmt of Jerome Genest and Simon Potvin (jgenest@gel.ulaval.ca) |
| Acknowledgements |
The author wishes to acknowledge the following in the creation of this submission:
FFTmt
|
| MATLAB release |
MATLAB 7.4 (R2007a)
|
| Other requirements |
Speed benefit is only on multi-core machines.
Implemented using pthreads, so will work on any system supporting these (all Unix, probably not Windows). |
|
Tags for This File
|
| Everyone's Tags |
|
| Tags I've Applied |
|
| Add New Tags |
Please login to tag files.
|
| Comments and Ratings (2) |
| 12 Sep 2007 |
Michal Kvasnicka
|
|
|
| 11 Oct 2009 |
bit wwq
|
|
|
| Updates |
| 20 Jul 2009 |
Updated license information, omit fftw libraries, which are GNU |
|
Contact us at files@mathworks.com