AOCL-FFTZ can provide a drop-in compatibility layer for third party FFT libraries through the Third-Party Wrappers.
Currently, a wrapper for the FFTW library is supported. To enable it, set the CMake option BUILD_THIRD_PARTY_WRAPPERS=ON during build configuration.
# configure
cmake -B <build-dir> <source-dir> \
-DBUILD_THIRD_PARTY_WRAPPERS=ON \
-DCMAKE_INSTALL_PREFIX=<install-path> \
[other options]
# build and install
cmake --build <build-dir> --target install
This generates the following files in your install folder.
include
aoclfftz.h
types.h
fftw3.h (symlink to fftw_wrapper.h)
fftw3.f (symlink to fftw_wrapper.f)
lib
libaocl_fftz.so
libfftw3xc_wrapper_fftz.so (symlink to libfftw3xc_wrapper_fftz.so)
wrappers/fftw
fftw_wrapper.h
fftw_wrapper.f
libfftw3xc_wrapper_fftz.so
bin
aocl_fftz_bench
Note
The symlinks are created only on Linux system and on shared library builds. The application that uses FFTW APIs can use these symlinks for compilation without the need of header file from AMD-FFTW.