gosfft
Simple FFT (SFFT) is a simple FFT library that is based on Gonum's FFT routine. It implements a simple interface for 1D, 2D and 3D transforms.
Examples
Below is a selection of examples whoen
Fourier transform of a square pulse
Fourier transform of a square
Fourier transform of a 3D cube
Parallelization
GOSFFT implements parallel versions of the multidimensional FFTs. In the following testcase a
2D 128 x 128 matrix is Fourier Transformed. The following results where obtained (Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz)
Number of workers |
Execution time per FFT |
1 |
1.34 ms |
2 |
0.85 ms |
4 |
0.67 ms |
8 |
0.45 ms |
The testcase runs a similar test in 3D for 128 x 128 x 128 dataset. The timing results are shown below
Number of workers |
Execution time per FFT |
1 |
280 ms |
2 |
146 ms |
4 |
87 ms |
8 |
68 ms |