Discrete fourier transform on multicore
Franchetti, F.
Puschel, M.
Voronenko, Y.
Chellappa, S.
Moura, J.M.F.
Carnegie Mellon University;
This paper appears in: Signal Processing Magazine, IEEE
Publication Date: November 2009
Volume: 26,
Issue: 6
On page(s): 90-102
ISSN: 1053-5888
Digital Object Identifier: 10.1109/MSP.2009.934155
Current Version Published: 2009-10-23
Abstract
This article gives an overview on the techniques needed to implement the discrete Fourier transform (DFT) efficiently on current multicore systems. The focus is on Intel-compatible multicores, but we also discuss the IBM Cell and, briefly, graphics processing units (GPUs). The performance optimization is broken down into three key challenges: parallelization, vectorization, and memory hierarchy optimization. In each case, we use the Kronecker product formalism to formally derive the necessary algorithmic transformations based on a few hardware parameters. Further code-level optimizations are discussed. The rigorous nature of this framework enables the complete automation of the implementation task as shown by the program generator, Spiral. Finally, we show and analyze DFT benchmarks of the fastest libraries available for the considered platforms.
Index
Terms
Available to subscribers and IEEE members.
References
Available to subscribers and IEEE members.
Citing Documents
Available to subscribers and IEEE members.