![]() |
![]() |
fft_plan_t | fft_omp_dp_plan_3d_r2c (int N1, int N2, int N3, int mode, fft_callout_t fxns) |
int | fft_omp_dp_3d_r2c_ecpy (fft_param_u u, void *edmaState) |
#define | FFT_OMP_DP_3D_R2C_MIN_SIZE ( 32*32*32) |
#define | FFT_OMP_DP_3D_R2C_MAX_SIZE (1024*1024*1024) |
#define | FFT_OMP_DP_3D_R2C_NUMOFLINEBUFS 4 |
3
#define FFT_OMP_DP_3D_R2C_MIN_SIZE ( 32*32*32) |
Definition at line 51 of file fft_omp_dp_3d_r2c.h.
#define FFT_OMP_DP_3D_R2C_MAX_SIZE (1024*1024*1024) |
Definition at line 52 of file fft_omp_dp_3d_r2c.h.
#define FFT_OMP_DP_3D_R2C_NUMOFLINEBUFS 4 |
FFT_OMP_DP_3D_R2C_NUMOFLINEBUFS | = number of cache lines to process each iteration |
Definition at line 58 of file fft_omp_dp_3d_r2c.h.
fft_plan_t fft_omp_dp_plan_3d_r2c | ( | int | N1, |
int | N2, | ||
int | N3, | ||
int | mode, | ||
fft_callout_t | fxns | ||
) |
N1 | = FFT size dimension 1 |
N2 | = FFT size dimension 2 |
N3 | = FFT size dimension 3 |
mode | = Only FFT_ECPY is supported for 3d FFT |
int fft_omp_dp_3d_r2c_ecpy | ( | fft_param_u | u, |
void * | edmaState | ||
) |
This program performs one 3-dimensional double-precision real-to-complex FFT utilizing multi-processing.
N1 | = FFT size dimension 1 |
N2 | = FFT size dimension 2 |
N3 | = FFT size dimension 3 |
para1 | = Twiddle, mixed radix & bluestein parameters for dimension 1 |
para2 | = Twiddle, mixed radix & bluestein parameters for dimension 2 |
para3 | = Twiddle, mixed radix & bluestein parameters for dimension 3 |
data | = input/output pointer |
workbuf | = working pointer |
data_w | = input/output buffer pointer |
workbuf_w | = working buffer pointer |
workbuf_t | = Cache line buffer pointer |
tw | = twiddle pointer |
tw_w | = twiddle buffer pointer |
Bn | = Bluestein pointer |
Bn_w | = Bluestein buffer pointer |
workbuf_bn | = Bluestein scratch pointer |
para1
& para2
are determined at runtime and will depend upon type of FFT desired, radix 3 & 5, radix 2 & 4, or bluestein.