AI Engine API User Guide (AIE-API) 2024.2
|
#include "concepts.hpp"
Namespaces | |
namespace | aie |
Base namespace for AIE operations and types. | |
Macros | |
#define | __AIE_API_FFT__HPP__ |
Typedefs | |
template<unsigned Vectorization, unsigned Radix, typename Input , typename Output = Input, typename Twiddle = detail::default_twiddle_type_t<Input, Output>> | |
using | aie::fft_dit = detail::fft_dit< Vectorization, detail::fft_get_stage< Input, Output, Twiddle >(Radix, Vectorization), Radix, Input, Output, Twiddle > |
Type that encapsulates the functionality for decimation-in-time FFTs. | |
Functions | |
template<unsigned Vectorization, typename Input , typename Output , typename Twiddle > requires (arch::is(arch::AIE, arch::AIE_ML) && detail::is_floating_point_v<Input>) | |
void | aie::fft_dit_r2_stage (const Input *__restrict x, const Twiddle *__restrict tw, unsigned n, bool inv, Output *__restrict out) |
A function to perform a single floating point radix 2 FFT stage. | |
template<unsigned Vectorization, typename Input , typename Output , typename Twiddle > requires (arch::is(arch::Gen1, arch::Gen2)) | |
void | aie::fft_dit_r2_stage (const Input *__restrict x, const Twiddle *__restrict tw, unsigned n, unsigned shift_tw, unsigned shift, bool inv, Output *__restrict out) |
A function to perform a single radix 2 FFT stage. | |
template<typename Input , typename Output , typename Twiddle > requires (arch::is(arch::AIE) && detail::is_floating_point_v<Input>) | |
void | aie::fft_dit_r2_stage (const Input *__restrict x, const Twiddle *__restrict tw, unsigned n, unsigned vectorization, bool inv, Output *__restrict out) |
A function to perform a single floating point radix 2 FFT stage with dynamic vectorization. | |
template<typename Input , typename Output , typename Twiddle > requires (arch::is(arch::AIE)) | |
void | aie::fft_dit_r2_stage (const Input *__restrict x, const Twiddle *__restrict tw, unsigned n, unsigned vectorization, unsigned shift_tw, unsigned shift, bool inv, Output *__restrict out) |
A function to perform a single radix 2 FFT stage with dynamic vectorization. | |
template<unsigned Vectorization, typename Input , typename Output , typename Twiddle > requires (arch::is(arch::AIE) && detail::is_floating_point_v<Input>) | |
void | aie::fft_dit_r3_stage (const Input *__restrict x, const Twiddle *__restrict tw0, const Twiddle *__restrict tw1, unsigned n, bool inv, Output *__restrict out) |
A function to perform a single floating point radix 3 FFT stage. | |
template<unsigned Vectorization, typename Input , typename Output , typename Twiddle > requires (arch::is(arch::AIE, arch::AIE_ML)) | |
void | aie::fft_dit_r3_stage (const Input *__restrict x, const Twiddle *__restrict tw0, const Twiddle *__restrict tw1, unsigned n, unsigned shift_tw, unsigned shift, bool inv, Output *__restrict out) |
A function to perform a single radix 3 FFT stage. | |
template<typename Input , typename Output , typename Twiddle > requires (arch::is(arch::AIE) && detail::is_floating_point_v<Input>) | |
void | aie::fft_dit_r3_stage (const Input *__restrict x, const Twiddle *__restrict tw0, const Twiddle *__restrict tw1, unsigned n, unsigned vectorization, bool inv, Output *__restrict out) |
A function to perform a single floating point radix 3 FFT stage with dynamic vectorization. | |
template<typename Input , typename Output , typename Twiddle > requires (arch::is(arch::AIE)) | |
void | aie::fft_dit_r3_stage (const Input *__restrict x, const Twiddle *__restrict tw0, const Twiddle *__restrict tw1, unsigned n, unsigned vectorization, unsigned shift_tw, unsigned shift, bool inv, Output *__restrict out) |
A function to perform a single radix 3 FFT stage with dynamic vectorization. | |
template<unsigned Vectorization, typename Input , typename Output , typename Twiddle > requires (arch::is(arch::Gen1, arch::Gen2)) | |
void | aie::fft_dit_r4_stage (const Input *__restrict x, const Twiddle *__restrict tw0, const Twiddle *__restrict tw1, const Twiddle *__restrict tw2, unsigned n, unsigned shift_tw, unsigned shift, bool inv, Output *__restrict out) |
A function to perform a single radix 4 FFT stage. | |
template<typename Input , typename Output , typename Twiddle > requires (arch::is(arch::AIE)) | |
void | aie::fft_dit_r4_stage (const Input *__restrict x, const Twiddle *__restrict tw0, const Twiddle *__restrict tw1, const Twiddle *__restrict tw2, unsigned n, unsigned vectorization, unsigned shift_tw, unsigned shift, bool inv, Output *__restrict out) |
A function to perform a single radix 4 FFT stage with dynamic vectorization. | |
template<unsigned Vectorization, typename Input , typename Output , typename Twiddle > requires (arch::is(arch::AIE) && detail::is_floating_point_v<Input>) | |
void | aie::fft_dit_r5_stage (const Input *__restrict x, const Twiddle *__restrict tw0, const Twiddle *__restrict tw1, const Twiddle *__restrict tw2, const Twiddle *__restrict tw3, unsigned n, bool inv, Output *__restrict out) |
A function to perform a single floating point radix 5 FFT stage. | |
template<unsigned Vectorization, typename Input , typename Output , typename Twiddle > requires (arch::is(arch::AIE, arch::AIE_ML)) | |
void | aie::fft_dit_r5_stage (const Input *__restrict x, const Twiddle *__restrict tw0, const Twiddle *__restrict tw1, const Twiddle *__restrict tw2, const Twiddle *__restrict tw3, unsigned n, unsigned shift_tw, unsigned shift, bool inv, Output *out) |
A function to perform a single radix 5 FFT stage. | |
template<typename Input , typename Output , typename Twiddle > requires (arch::is(arch::AIE) && detail::is_floating_point_v<Input>) | |
void | aie::fft_dit_r5_stage (const Input *__restrict x, const Twiddle *__restrict tw0, const Twiddle *__restrict tw1, const Twiddle *__restrict tw2, const Twiddle *__restrict tw3, unsigned n, unsigned vectorization, bool inv, Output *__restrict out) |
A function to perform a single floating point radix 5 FFT stage with dynamic vectorization. | |
template<typename Input , typename Output , typename Twiddle > requires (arch::is(arch::AIE)) | |
void | aie::fft_dit_r5_stage (const Input *__restrict x, const Twiddle *__restrict tw0, const Twiddle *__restrict tw1, const Twiddle *__restrict tw2, const Twiddle *__restrict tw3, unsigned n, unsigned vectorization, unsigned shift_tw, unsigned shift, bool inv, Output *out) |
A function to perform a single radix 5 FFT stage with dynamic vectorization. | |
#define __AIE_API_FFT__HPP__ |