Intel
® 
Math Kernel Library 10.0 - FFT
PrintEmail to a friendSupportNewsletterRSSDigg thisdel.icio.us
Product InformationEvaluation CenterSupport Resources
OverviewBLAS/LAPACKScaLAPACKSparseFastVectorRandomLINPACK


Buy Product ›

Free Evaluation ›

Free Non-Commercial Download for Linux* ›

Fast Fourier Transforms (FFTs)
Fourier transforms are used in digital signal processing, image processing, and in partial differential equation (PDE) solvers. The Fast Fourier Transform (FFT) functionality in Intel® Math Kernel Library (Intel® MKL) has been highly optimized for Intel® architecture-based machines.

Intel MKL also provides support for distributed memory multiprocessor architecture machines (clusters).

Features of Intel MKL Fast Fourier Transforms include:

  • High performance
  • Outstanding multiprocessor scaling
  • Multi-dimension support (1-D up to 7-D)
  • Mixed-radix support
  • Modern, easy-to-use interface
  • FFTW 2.x and 3.x interfaces
Interfaces
Fortran and C
Both Fortran and C interfaces exist for all FFT functions.

Modern FFT Interface
Intel MKL offers a novel FFT interface that is specifically designed to be easier to use and maintain.

FFTW Interface
Intel MKL includes FFTW 2.x and 3.x compatibility APIs enabling FFTW users to integrate Intel MKL with minimal effort. Our goal is to provide FFTW users with easy access to the high performance and quality of Intel MKL Fast Fourier Transforms. FFTW is an alternative FFT package from MIT. More information

  • FFTW 3.x interface
  • FFTW 2.x interface
Performance (Shared Memory Parallel)
Intel MKL Fast Fourier Transforms are highly optimized for medium and large size transforms. The charts below compare the performance of Intel MKL with FFTW, a popular FFT software package. The charts illustrate these key points:

  • Intel MKL offers outstanding performance for medium and large size transforms.
  • Intel MKL offers outstanding scalability for multiprocessor systems.
  • Intel MKL compares favorably to FFTW for medium and large size transforms.

Note: For all tests below, a fftw_plan_dft_xd() was called using the FFTW_PATIENT flag to ensure good performance was achieved for FFTW.

1-D Transform

The one-dimensional transform charts below show how Intel MKL can provide a significant performance boost over FFTW§.



Click to enlarge


Click to enlarge

2-D Transforms

Two-dimensional transforms are large enough that they can benefit significantly from multiprocessing. The following charts illustrate how Intel MKL provides significantly better threaded performance than FFTW. In fact, Intel MKL single thread performance often out performs the 2, 4, and 8 thread performance of FFTW§.


Click to enlarge


Click to enlarge

3-D Transforms

Three-dimensional transforms show the same behavior as the two-dimensional transforms. Intel MKL excels at providing excellent performance scaling for medium and large transforms§


Click to enlarge


Click to enlarge

Performance (Distributed Memory)

Intel MKL also provides support for distributed memory multiprocessor architecture machines (clusters). Included in this support are FFTs designed for distributed memory parallelism. As cluster systems are often configured with much higher degrees of parallelism than shared memory parallel systems, Intel MKL expands headroom for problem size and performance, particularly for large problems.

The charts illustrate these key points:

  • Intel MKL offers outstanding performance across a wide range of transform sizes.
  • Intel MKL offers increasing performance benefit over FFTW as the problem size increases.


Click to enlarge


Click to enlarge


Click to enlarge


Click to enlarge

Summary
The Fast Fourier Transform functionality of the Intel Math Kernel Library offers outstanding performance and scalability across a wide range of problem sizes that are of interest to the high performance computing community. Unlike FFTW, Intel MKL does not require the time-consuming process of doing pre-production machine calibration runs ("plan creation") prior to running one’s software. Intel MKL provides FFT support for distributed memory parallel computing systems and provides outstanding performance headroom for larger problem sizes. Intel MKL includes a FFTW interface to enable developers to easily compare performance and switch from FFTW to Intel MKL with minimal source code changes.

Reference
§Performance tests and ratings are measured using specific computer systems and/or components and reflect the appropriate performance of Intel products as measured by those tests. Any difference in system design or configuration may affect actual performance. Buyers should consult other sources of information to evaluate the performance of systems or components they are considering purchasing. For more information on performance tests and on the performance of Intel products, go to http://www.intel.com/software/products/.



Intel® Software
Network
Intel® Software Network
  • It’s free and easy to become a member, so join today!