Fast Fourier Transform library

The FFT is an implementation of the Discrete Fourier Transform (DFT) that makes use of symmetries in the FFT definition to reduce the mathematical intensity required from O( N2) to O( NlogN) when the sequence length, N, is the product of small prime factors.  hcFFT provides a set of FFT routines are optimized for HCC enabled graphics processors.

HcFFT supports transform sizes that are powers of 2, 3, 5, and 7. The vector lengths can be a combination of powers of two, three, five, and seven; examples include 27,2131,3254,223355, up to the limit that the device can support.

HCC Implementation of FFT

  • Provides a fast and accurate platform for calculating discrete FFTs.
  • Supports in-place or out-of-place transforms.
  • Supports 1D, 2D, and 3D transforms with a batch size that can be greater than or equal to 1.
  • Supports planar (real and complex components are stored in separate arrays) and interleaved (real and complex components are stored as a pair in the same array) formats.
  • Supports lengths that are any combination of powers of 2, 3, 5, and 7.
  • Supports single and double precision floating point formats

HcFFT works with the  HCC Compiler and it’s HC C++  dialect

  • Targets
    • Radeon Open Compute Kernel Driver and Runtime on Fiji based hardware.

You can get it on the Bitbucket link below.