PFFT: An Extension of FFTW to Massively Parallel Architectures
Author:
- Michael PippigMPMichael Pippig
Top Cited Papers
- 1 January 2013
- journal article
- Published by Society for Industrial & Applied Mathematics (SIAM) in SIAM Journal on Scientific Computing
- Vol. 35 (3) , C213-C236
Abstract
We present an MPI based software library for computing fast Fourier transforms (FFTs) on massively parallel, distributed memory architectures based on the Message Passing Interface standard (MPI). Similar to established transpose FFT algorithms, we propose a parallel FFT framework that is based on a combination of local FFTs, local data permutations, and global data transpositions. This framework can be generalized to arbitrary multidimensional data and process meshes. All performance-relevant building blocks can be implemented with the help of the FFTW software library. Therefore, our library offers great flexibility and portable performance. Similarly to FFTW, we are able to compute FFTs of complex data, real data, and even- or odd-symmetric real data. All the transforms can be performed completely in place. Furthermore, we propose an algorithm to calculate pruned FFTs more efficiently on distributed memory architectures. For example, we provide performance measurements of FFTs of sizes between $512^3$ and $8192^3$ up to $262144$ cores on a BlueGene/P architecture, up to $32768$ cores on a BlueGene/Q architecture, and up to $4096$ cores on the Jülich Research on Petaflop Architectures (JuRoPA).
Keywords
This publication has 8 references indexed in Scilit:
- P3DFFT: A Framework for Parallel Computations of Fourier Transforms in Three DimensionsSIAM Journal on Scientific Computing, 2012
- An Implementation of Parallel 3-D FFT with 2-D Decomposition on a Massively Parallel Cluster of Multi-core Processors2010
- Performance of the 3D FFT on the 6D network torus QCDOC parallel supercomputerComputer Physics Communications, 2007
- The Design and Implementation of FFTW3Proceedings of the IEEE, 2005
- A Volumetric FFT for BlueGene/L2003
- Cache-oblivious algorithms1999
- The scalability of FFT on parallel computersIEEE Transactions on Parallel and Distributed Systems, 1993
- An algorithm for the machine calculation of complex Fourier seriesMathematics of Computation, 1965