6. AOCL-FFTZ
AOCL-FFTZ is a high performance Fast Fourier Transform (FFT) library developed by AMD supporting advanced optimizations for AMD’s “Zen”-based CPUs. The library computes FFTs of (i) complex data of any size and dimension in both forward and backward directions, and (ii) real data of any size and dimension, excluding prime sizes greater than 7 and their multiples, in both forward and backward directions with support for in-place and out-of-place result placements.
The kernels in this library are vectorized to speed-up the single-threaded core performance. The library supports the computations of parallel FFTs by taking advantage of shared-memory parallelism using OpenMP threads.
AOCL-FFTZ introduces a generic and unified API set for supporting any precision types (single-precision and double-precision), and both the single-threaded and multi-threaded execution modes. The library uses a dynamic dispatcher feature to run efficiently and portably across different x86 based systems. A test bench is supported for performance and functional tests including the accuracy tests. GTest-based unit testing framework is also supported by the library.
AOCL-FFTZ provides a comprehensive set of interface APIs for computing both forward (FFT) and backward (IFFT) transforms for real and complex data in the supported data models. The library offers flexible interfaces that support both single-threaded and multi-threaded execution modes to optimize for performance across various workloads.
Data structures and conventions to describe the FFT problems, guides on problem descriptor construction and explains the data layout conventions followed through the AOCL-FFTZ library.
Type Definitions of Standard Datatypes for AOCL-FFTZ Library.
Example programs illustrating how to use AOCL-FFTZ APIs are presented here.
Contacts
AOCL-FFTZ is developed and maintained by AMD. For support, send an email to toolchainsupport@amd.com.