My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Links

P3DFFT introduction

Parallel Three-Dimensional Fast Fourier Transforms, dubbed P3DFFT, is a library for large-scale computer simulations on parallel platforms. 3D FFT is an important algorithm for simulations in a wide range of fields, including studies of turbulence, climatology, astrophysics and material science. This project was initiated at San Diego Supercomputer Center (SDSC) at UC San Diego by its main author Dmitry Pekurovsky, Ph.D.

P3DFFT uses 2D, or pencil, decomposition. This overcomes an important limitation to scalability inherent in FFT libraries implementing 1D (or slab) decomposition: the number of processors/tasks used to run this problem in parallel can be as large as N^2, were N is the linear problem size. This approach has shown good scalability up to 32,768 cores on Ranger (Sun/AMD at TACC) when integrated into a Direct Numerical Simulation (DNS) turbulence application (see scaling analysis presentation at Teragrid’08 meeting, Las Vegas). P3DFFT is optimized for large data sets.

P3DFFT is written in Fortran90/MPI and is optimized for parallel performance. C interface is available, as are detailed documentation and examples in both Fortran and C. A configure script is supplied for ease of installation. This package depends on a serial FFT library such as Fastest Fourier Transform in the West (FFTW) or IBM's ESSL.

In the forward transform, given an input of an array of 3D real values, an output of 3D complex array of Fourier coefficients is returned. Note that only a little more than half of the complex coefficients are returned, since the rest can be restored by conjugate symmetry. In backward transform, the input is the half-sized complex array, and the output is full-sized real array. For more information see the User Guide. For installation instructions click here.

(This work is supported by NSF grant OCI-0850684)

Communication

Be sure to subscribe to the mailing list for this project where you can discuss topics of interest with other users and developers. Click on Issues tab above to see the list of outstanding problems or report a new problem or suggestion. You can also reach the main author Dmitry Pekurovsky at dmitry@sdsc.edu.

We are interested to hear your experiences, and suggestions for future releases. Please let us know if you are interested in contributing to future development of the library. The author is also interested in collaborating on computational science projects where 3D FFT and related transforms are applied.

Future work

  • Hybrid MPI/OpenMP
  • Multivariable version
  • One-sided communication
  • Chebyshev, complex-to-complex and other transforms
  • Generalized data layout options
Powered by Google Project Hosting