7. AOCL-FFTZ
7.1. Introduction
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 one-dimensional data of any size, 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.
7.2. APIs
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.
7.3. Data Structures and Type Definitions
AOCL-FFTZ defines various data structures and type definitions to support both single-precision (FLOAT) and double-precision (DOUBLE) computations. These structures encapsulate configuration parameters, execution contexts, and other essential parameters and flags required for efficient FFT operations.
7.4. Datatype Definitions
Type Definitions of Standard Datatypes for AOCL-FFTZ Library.
7.5. Examples
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.