- group Data_Structures
Data structures and typedef definitions associated with APIs of AOCL-FFTZ library.
This section contains typedef definitions used by the AOCL-FFTZ library’s interface APIs.
Note
Different variants of data structures are available to support float and double precision types in LP64 and ILP64 data models.
Typedefs
-
typedef struct aoclfftz_flags aoclfftz_flags_t#
Configuration flags to control critical FFT execution parameters.
-
typedef struct aoclfftz_dim aoclfftz_dim_t#
Tensor dimension for LP64.
-
typedef struct aoclfftz_dim_64_ aoclfftz_dim_t_64_#
Tensor dimension for ILP64.
-
typedef struct aoclfftz_smp_pfft aoclfftz_smp_pfft_t#
Params for parallel SMP FFT computation.
-
typedef struct aoclfftz_cntrl_params aoclfftz_cntrl_params_t#
Control params for optimizations, logs and stats.
Enums
-
enum aoclfftz_error_type#
Error return codes of
AOCL-FFTZlibrary.Values:
-
enumerator AOCLFFTZ_TIME_OUT#
Operation took long time than expected
-
enumerator AOCLFFTZ_MEMORY_FAILURE#
Error related to Memory access or operation
-
enumerator AOCLFFTZ_INVALID_INPUT#
Invalid size, format, type or precision of input
-
enumerator AOCLFFTZ_SETUP_FAILURE#
Error in setup of the library
-
enumerator AOCLFFTZ_EXECUTION_FAILURE#
Error in execution of the library
-
enumerator AOCLFFTZ_SUCCESS#
Successful operation
-
enumerator AOCLFFTZ_TIME_OUT#
-
enum aoclfftz_logger_mode#
Logging modes to control verbosity of
AOCL-FFTZlibrary output.Values:
-
enumerator AOCLFFTZ_LOG_NONE#
0: Disable all logging
-
enumerator AOCLFFTZ_LOG_INFO#
1: Detailed debugging logs
-
enumerator AOCLFFTZ_LOG_TRACE#
2: Logging with complete execution trace
-
enumerator AOCLFFTZ_LOG_DEBUG#
3: Most detailed logging, with debug logs
-
enumerator AOCLFFTZ_LOG_NONE#
-
struct aoclfftz_flags#
- #include <aoclfftz.h>
Configuration flags to control critical FFT execution parameters.
Public Members
-
struct aoclfftz_dim#
- #include <aoclfftz.h>
Tensor dimension for LP64.
-
struct aoclfftz_dim_64_#
- #include <aoclfftz.h>
Tensor dimension for ILP64.
-
struct aoclfftz_smp_pfft#
- #include <aoclfftz.h>
Params for parallel SMP FFT computation.
Public Members
-
struct aoclfftz_cntrl_params#
- #include <aoclfftz.h>
Control params for optimizations, logs and stats.
Public Members
-
INT32 opt_level#
Set Optimization level with following values
Levels:
0 - non-SIMD algorithmic optimizations
1 - AVX128 optimizations
2 - AVX256 optimizations
3 - AVX512 optimizations
-
aoclfftz_logger_mode logger_mode#
Set Logger mode with following values.
0 -
None,1 -
Info,2 -
Trace,3 -
Debug
-
INT32 opt_level#
-
struct aoclfftz_prob_desc_f#
- #include <aoclfftz.h>
Defines problem descriptor for float data on LP64 machines.
Public Members
-
FLOAT *in#
input buffer: Points to signal points for forward FFT and frequency points for backward FFT
-
FLOAT *out#
output buffer: Points frequency points for forward FFT and signal points for backward FFT
-
INT32 vec_rank#
vec_rankis the number of batch/vector dimensions. length ofvecsarray(must be >= 1).
-
INT32 dim_rank#
dim_rankis the number of signal/frequency dimensions. length ofdimsarray(must be >= 1).
-
aoclfftz_dim_t *dims#
Multi-dimensional tensor dimensions for LP64
-
aoclfftz_dim_t *vecs#
Vector tensor dimensions for LP64
-
aoclfftz_flags_t flags#
Struct for configuration flags to control critical FFT execution parameters like -
fft_type,fft_direction,storage_order,fft_placement,transpose_mode.
-
aoclfftz_smp_pfft_t pthr_fft#
Struct for parallel SMP FFT computation
-
aoclfftz_cntrl_params_t cntrl_params#
Struct for optimizations, logs, stat params
-
FLOAT *in#
-
struct aoclfftz_prob_desc_d#
- #include <aoclfftz.h>
Defines problem descriptor for double data on LP64 machines.
Public Members
-
DOUBLE *in#
input buffer: Points to signal points for forward FFT and frequency points for backward FFT
-
DOUBLE *out#
output buffer: Points frequency points for forward FFT and signal points for backward FFT
-
INT32 vec_rank#
vec_rankis the number of batch/vector dimensions. length ofvecsarray(must be >= 1).
-
INT32 dim_rank#
dim_rankis the number of signal/frequency dimensions. length ofdimsarray(must be >= 1).
-
aoclfftz_dim_t *dims#
Multi-dimensional tensor dimensions for LP64
-
aoclfftz_dim_t *vecs#
Vector tensor dimensions for LP64
-
aoclfftz_flags_t flags#
Struct for configuration flags to control critical FFT execution parameters like -
fft_type,fft_direction,storage_order,fft_placement,transpose_mode.
-
aoclfftz_smp_pfft_t pthr_fft#
Struct for parallel SMP FFT computation
-
aoclfftz_cntrl_params_t cntrl_params#
Struct for optimizations, logs, stat params
-
DOUBLE *in#
-
struct aoclfftz_prob_desc_f_64_#
- #include <aoclfftz.h>
Defines problem descriptor for float data on ILP64 machines.
Public Members
-
FLOAT *in#
input buffer: Points to signal points for forward FFT and frequency points for backward FFT
-
FLOAT *out#
output buffer: Points to frequency points for forward FFT and signal points for backward FFT
-
INT32 vec_rank#
vec_rankis the number of batch/vector dimensions. length ofvecsarray(must be >= 1).
-
INT32 dim_rank#
dim_rankis the number of signal/frequency dimensions. length ofdimsarray(must be >= 1).
-
aoclfftz_dim_t_64_ *dims#
Multi-dimensional tensor dimensions for ILP64
-
aoclfftz_dim_t_64_ *vecs#
Vector tensor dimensions for ILP64
-
aoclfftz_flags_t flags#
Struct for configuration flags to control critical FFT execution parameters like -
fft_type,fft_direction,storage_order,fft_placement,transpose_mode.
-
aoclfftz_smp_pfft_t pthr_fft#
Struct for parallel SMP FFT computation
-
aoclfftz_cntrl_params_t cntrl_params#
Struct for optimizations, logs, stat params
-
FLOAT *in#
-
struct aoclfftz_prob_desc_d_64_#
- #include <aoclfftz.h>
Defines problem descriptor for double data on ILP64 machines.
Public Members
-
DOUBLE *in#
input buffer: Points to signal points for forward FFT and frequency points for backward FFT
-
DOUBLE *out#
output buffer: Points to frequency points for forward FFT and signal points for backward FFT
-
INT32 vec_rank#
vec_rankis the number of batch/vector dimensions. length ofvecsarray(must be >= 1).
-
INT32 dim_rank#
dim_rankis the number of signal/frequency dimensions. length ofdimsarray(must be >= 1).
-
aoclfftz_dim_t_64_ *dims#
Multi-dimensional tensor dimensions for ILP64
-
aoclfftz_dim_t_64_ *vecs#
Vector tensor dimensions for ILP64
-
aoclfftz_flags_t flags#
Struct for configuration flags to control critical FFT execution parameters like -
fft_type,fft_direction,storage_order,fft_placement,transpose_mode.
-
aoclfftz_smp_pfft_t pthr_fft#
Struct for parallel SMP FFT computation
-
aoclfftz_cntrl_params_t cntrl_params#
Struct for optimizations, logs, stat params
-
DOUBLE *in#
-
typedef struct aoclfftz_flags aoclfftz_flags_t#