Viewable by the world
Group Access to FFTX
Can VIEW the space: anonymous , 
Can EDIT the space:
Can ADMINISTER the space:

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.

FFTX is the exascale follow-on to the FFTW open-source discrete FFT package for executing the Fast Fourier Transform as well as higher-level operations composed of linear operations combined with discrete Fourier transforms. Though backward compatible with FFTW, this is an entirely new work developed as a cooperative effort between Lawrence Berkeley National Laboratory, Carnegie Mellon University, and SpiralGen, Inc.

See our page with FFTX references:

our github site, FFTX Project documentation:

Building FFTX


C Compiler and Build Tools

FFTX builds on Linux/Unix with gcc and make, on Windows it builds with Visual Studio.


You can download FFTW from

On Windows install FFTW in C:\FFTW3 if possible. Be sure to follow the instructions in README-WINDOWS in the FFTW root directory about using the lib command to create the .lib files.


FFTX needs a version of CMake no older than 3.8, but try to use the most recent version, which is currently 3.14.

You can download CMake from, where there are source trees and Windows installers. Be wary of pre-built Linux packages from other sources, as they are often out of date.

On super computers the default CMake version may be quite old, requiring you to explicitly load the module for the latest version.

Building on Linux and Other Unix-Like Systems

From the top level FFTX directory:

mkdir build cd build cmake .. make make test

Using a Custom FFTW Installation

There are two command line variables to CMake for FFTX that specify the include dir and library for a custom FFTW installation, FFTW_INCLUDE_DIR and FFTW_LIBRARY. Use them in the CMake command line as in the following example where FFTW is installed in ~/fftw3:

cmake -D FFTW_INCLUDE_DIR=~/fftw3/include -D FFTW_LIBRARY=~/fftw3/lib/libfftw3.a ..

Release and Debug Builds

Use the CMAKE_BUILD_TYPE command line variable to explicitly control the FFTX build type. The value can be eitherDebug or Release, as in:

cmake -D CMAKE_BUILD_TYPE=Debug ..

Building on Windows

In the top level FFTX directory, make a directory called build. From a terminal window in the build directory enter one of the following commands, depending on your version of Visual Studio. See the CMake documentation if your version isn't shown here.

cmake -G "Visual Studio 14 2015" -A x64 ..

cmake -G "Visual Studio 15 2017" -A x64 ..

cmake -G "Visual Studio 16 2019" -A x64 ..

See our github site for installation:

When CMake is finished, open the new FFTX.sln with Visual Studio to build the projects in the code tree.

Building on Summit

The following minimal script will set up your environment to build with the instructions for Linux.

module load gcc/8.1.1
module load fftw/3.3.8
module load cmake/3.13.4

export CC='/sw/summit/gcc/8.1.1/bin/gcc'

CMake looks for the CC environment variable to override the default C compiler, which is /usr/bin/cc on Summit, even if you explicitly load a gcc module.

Recently Updated

Navigate space

Page Tree