Complete the following steps in the CMake GUI:
Set the source (folder containing FFTW source code) and build (folder in which the project files will be generated, for example, out) folder paths.
Click on the Configure button to prepare the project options.
Set the generator to Visual Studio 16 2019 or Visual Studio 17 2022 and the compiler to ClangCl or LLVM.
Update the options based on the project requirements. All the available options are listed in the following table:
Table 9.1 AOCL-FFTW Config Options# Feature
CMake Parameters
Build type (Release or Debug mode)
CMAKE_BUILD_TYPE=Release/Debug
AMD CPU architecture (AMD “Zen”/AMD “Zen2”/ AMD “Zen3”/AMD “Zen4”/ AMD “Zen5”)
AMD_ARCH: STRING=znver1/znver2/znver3/ znver4/znver5
Shared library without multithreading
BUILD_SHARED_LIBS=ON ENABLE_OPENMP=OFF ENABLE_THREADS=OFF
Shared library with multithreading
BUILD_SHARED_LIBS=ON ENABLE_OPENMP=ON
Static library without multithreading
BUILD_SHARED_LIBS=OFF ENABLE_OPENMP=OFF
Static library with multithreading
BUILD_SHARED_LIBS=OFF ENABLE_OPENMP=ON
Use Threads instead of OpenMP for multithreading
ENABLE_THREADS=ON WITH_COMBINED_THREADS=ON
Use both Threads and OpenMP for multithreading
ENABLE_THREADS=ON ENABLE_OPENMP=ON
Flags for enhanced instruction set support
ENABLE_SSE=ON ENABLE_SSE2=ON ENABLE_AVX=ON ENABLE_AVX2=ON ENABLE_AVX512=ON
Flags for single and long double
ENABLE_FLOAT=ON ENABLE_LONG_DOUBLE=ON
Build tests directory and generate test applications
BUILD_TESTS=ON
Enables MPI lib
ENABLE_MPI=ON
Enables AMD optimizations
ENABLE_AMD_OPT=ON
Enables AMD MPI FFT optimizations
ENABLE_AMD_MPIFFT=ON ENABLE_AMD_MPI_VADER_LIMIT: ON
Enables AMD optimized transpose
ENABLE_AMD_TRANS=ON
Enables AMD optimizations for HPC/Scientific applications
ENABLE_AMD_APP_OPT: ON
Note
ENABLE_QUAD_PRECISION is currently not supported on Windows.
Select the available and recommended options as follows:
Figure 9.1 AOCL-FFTW CMake Config Options#
Click the Generate button and then Open Project.