https://github.com/kfrlib/fft-benchmark
A benchmark for comparison of FFT algorithms performance
https://github.com/kfrlib/fft-benchmark
Last synced: 10 months ago
JSON representation
A benchmark for comparison of FFT algorithms performance
- Host: GitHub
- URL: https://github.com/kfrlib/fft-benchmark
- Owner: kfrlib
- License: mit
- Created: 2016-07-11T09:00:51.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2024-02-26T11:22:53.000Z (over 2 years ago)
- Last Synced: 2025-03-27T06:03:16.573Z (over 1 year ago)
- Language: C++
- Homepage: https://www.kfrlib.com
- Size: 25.4 KB
- Stars: 22
- Watchers: 3
- Forks: 6
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FFT benchmark
A benchmark for comparison of FFT algorithms performance.
Currently supports
* [KFR](https://github.com/kfrlib/kfr)
* Intel IPP
* Intel MKL
* FFTW
`CMAKE_PREFIX_PATH` should contain the paths to cmake configs of used libraries.
Example:
```
C:/vcpkg/installed/x64-windows-static-md/share
C:/Program Files (x86)/Intel/oneAPI/ipp/2021.9.0/lib/cmake/ipp
C:/Program Files (x86)/Intel/oneAPI/mkl/2024.0/lib/cmake/mkl
kfr-install-dir/lib/cmake
```
Requires:
* Clang 12.0+
* CMake 3.12 or newer
* AVX2-capable cpu
* Python 3.5 or newer
* matplotlib module
* numpy module
## Options
| Option | Description |
|--------------------|-----------------------------------------------------------------|
| `SIZE` | 1D FFT |
| `SIZExSIZE` | 2D FFT. Example: `64x32` |
| `SIZExSIZExSIZE` | 3D FFT. Example: `64x32x16` |
| `--complex flags` | `y` (complex tests), `yn` (all tests), `n` (real tests) |
| `--inverse flags` | `y` (IDFT tests), `ny` (DFT/IDFT tests), `n` (DFT tests) |
| `--inplace flags` | `y` (inplace tests), `ny` (all tests), `n` (out-of-place tests) |
| `--save data.json` | Save results in JSON |
| `--save -` | Print resulting JSON to stdout |
| `--avx2-only` | Enable only AVX2 (supported in KFR, IPP, MKL) |
| `--no-progress` | Disable verbose progress output |
| `--no-banner` | Disable banner |
## Benchmark code license
MIT