Skip to content

P3DFFT Home Page

Parallel Three-Dimensional Fast Fourier Transforms, dubbed P3DFFT, is a library for large-scale computer simulations in a wide range of sciences, such as physics, climatology, chemistry. This project was initiated at San Diego Supercomputer Center (SDSC) at UC San Diego by Dmitry Pekurovsky as a branch off a Strategic Applications Collaborations (SAC) project.

Features (v. 2.3)

  • Highly scalable parallel implementation with 2D data decomposition.
  • Optimized for parallel communication and CPU performance.
  • Built on top of established 1D FFT libraries (FFTW or ESSL).
  • Fortran and C interfaces.
  • Example programs provided.
  • Extra feature: ghost cell operations for nearest-neighbor communication (author Jens Henrik Goebbert, RWTH-Aachen).

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).

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 User Guide.

Requirements

P3DFFT can be run on any parallel platform with support for Fortran 90 and MPI. It is also necessary that one of the two serial FFT libraries be installed on the system: IBM’s Engineering and Scientific Software Library (ESSL) or Fastest Fourier Transform in the West (FFTW).

P3DFFT is already installed in /usr/local/apps/p3dfft directory on SDSC Teragrid system (IA-64 cluster) and Blue Gene.

Package Information

This package includes source code and makefiles necessary to build the library. Makefiles for several platforms are supplied but users might need to modify them to their particular architecture details, such as compile options and library locations. In addition, examples/test programs illustrating the use of the library are provided.

Feedback

Please send your feedback and questions to the main author Dmitry Pekurovsky, dmitry@sdsc.edu


Did You Get
What You
Wanted?
Yes No
Comments