FFT_OPEN_MP
Fast Fourier Transform Using OpenMP


FFT_OPEN_MP is a C program which demonstrates the computation of a Fast Fourier Transform in parallel, using OpenMP.

On an Apple PowerPC G5 with two processors, the following results were observed:
ThreadsNTimeMegaFLOPS
133,554,43232.65128.4
233,554,43219.87211.0
433,554,43219.80211.7

Usage:

In the BASH shell, the program could be run with 2 threads using the commands:

        export OMP_NUM_THREADS=2
        ./fft_open_mp
      

Related Data and Programs:

FFT_SERIAL is a C program which demonstrates the computation of a Fast Fourier Transform, and is intended as a starting point for implementing a parallel version using OpenMP.

FFT_OPEN_MP is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version.

MD_OPEN_MP is a C program which carries out a molecular dynamics simulation using OpenMP.

MXV_OPEN_MP is a C program which compares the performance of plain vanilla Fortran and the FORTRAN90 intrinsic routine MATMUL, for the matrix multiplication problem y=A*x, with and without parallelization by OpenMP.

OPEN_MP is a directory of C examples which illustrate the use of the OpenMP application program interface for carrying out parallel computations in a shared memory environment.

OPEN_MP_ITHACA C programs which illustrate the use of OpenMP on the Virginia Tech ITHACA cluster.

QUAD_OPEN_MP is a C program which approximates an integral using a quadrature rule, and carries out the computation in parallel using OpenMP.

SATISFIABILITY_OPEN_MP is a C program which demonstrates, for a particular circuit, an exhaustive search for solutions of the circuit satisfiability problem, using OpenMP for parallel execution.

SGEFA_OPEN_MP is a C program which solves a linear system by Gaussian elimination, using OpenMP.

ZIGGURAT_OPEN_MP, a C program which demonstrates how the ZIGGURAT library can be used to generate random numbers in an OpenMP parallel program.

Reference:

  1. Wesley Petersen, Peter Arbenz,
    Introduction to Parallel Computing - A practical guide with examples in C,
    Oxford University Press,
    ISBN: 0-19-851576-6,
    LC: QA76.58.P47.
  2. Rohit Chandra, Leonardo Dagum, Dave Kohr, Dror Maydan, Jeff McDonald, Ramesh Menon,
    Parallel Programming in OpenMP,
    Morgan Kaufmann, 2001,
    ISBN: 1-55860-671-8,
    LC: QA76.642.P32.
  3. Barbara Chapman, Gabriele Jost, Ruud vanderPas, David Kuck,
    Using OpenMP: Portable Shared Memory Parallel Processing,
    MIT Press, 2007,
    ISBN13: 978-0262533027,
    LC: QA76.642.C49.

Source Code:

Examples and Tests:

FFT_OPEN_MP_RUN runs FFT_OPEN_MP interactively.

FFT_OPEN_MP_BATCH runs FFT_OPEN_MP through the batch system.

List of Routines:

You can go up one level to the C source codes.


Last revised on 20 March 2009.