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 (generated C wrapper header)
fftw3.f (generated Fortran 77 wrapper header)
fftw3.f03 (generated Fortran 2003 wrapper header)
lib
libaocl_fftz.so
libfftw3.so (generated wrapper library)
libfftw3f.so (copy of libfftw3.so for applications that link against the single-precision FFTW APIs)
libfftw3_omp.so (copy of libfftw3.so for applications that link against the FFTW APIs with OpenMP support)
libfftw3f_omp.so (copy of libfftw3f.so for applications that link against the single-precision FFTW APIs with OpenMP support)
cmake/ (contains CMake config files for AOCL-FFTZ and wrapper libraries)
pkgconfig/ (contains pkg-config metadata files for AOCL-FFTZ and wrapper libraries)
bin
aocl_fftz_bench