CPU FFT Benchmark Results

Latest run: ./scripts/run_cpu_fft.sh 1 4.

This file is generated from sequential CPU FFT runs under data/results/mac-cpu/cpu/fft/20260923_205931.

CPU Information

Thread Environments

Threads: 1

Threads: 4

Timing Discipline

Threads: 1 4

CPU FFT Benchmark Items

Median ± IQR (ms). Missing backends are shown as -.

Timing scope: input tensors are created outside the timed region; each timed call creates the FFT output tensor. The primary eager comparison is tenferro-rs FftExecutor cached versus warmed PyTorch torch.fft; traced rows reuse one compiled graph and one-shot rows are diagnostic. Rows are limited to 1D transforms so tenferro-rs column-major layout and PyTorch row-major layout do not change the measured transform axis.

Operation execution

suite benchmark dtype threads shape tenferro-rs one-shot diagnostic (ms) tenferro-rs TensorRead API (ms) tenferro-rs cached primary (ms) tenferro-rs eager mode (ms) tenferro-rs trace mode (ms) PyTorch torch.fft (ms)
cpu/fft fft c32 1 1d_n1024 skipped skipped 0.002 ± 0.000 skipped skipped 0.004 ± 0.000
cpu/fft fft c32 1 1d_n1048576 skipped skipped 4.094 ± 0.114 4.148 ± 0.102 4.125 ± 0.101 10.358 ± 0.172
cpu/fft fft c32 1 1d_n16384 skipped skipped 0.041 ± 0.001 skipped skipped 0.082 ± 0.001
cpu/fft fft c32 4 1d_n1024 skipped skipped 0.005 ± 0.001 skipped skipped 0.004 ± 0.000
cpu/fft fft c32 4 1d_n1048576 skipped skipped 4.210 ± 0.077 4.194 ± 0.056 4.124 ± 0.046 10.285 ± 0.143
cpu/fft fft c32 4 1d_n16384 skipped skipped 0.040 ± 0.003 skipped skipped 0.083 ± 0.001
cpu/fft fft c64 1 1d_n1024 skipped skipped 0.003 ± 0.000 skipped skipped 0.004 ± 0.000
cpu/fft fft c64 1 1d_n1048576 skipped skipped 6.621 ± 0.172 6.600 ± 0.082 5.861 ± 0.062 11.412 ± 0.196
cpu/fft fft c64 1 1d_n16384 skipped skipped 0.069 ± 0.001 skipped skipped 0.105 ± 0.000
cpu/fft fft c64 4 1d_n1024 skipped skipped 0.005 ± 0.001 skipped skipped 0.004 ± 0.000
cpu/fft fft c64 4 1d_n1048576 skipped skipped 5.868 ± 0.093 5.858 ± 0.334 5.802 ± 0.050 11.589 ± 0.358
cpu/fft fft c64 4 1d_n16384 skipped skipped 0.069 ± 0.006 skipped skipped 0.105 ± 0.001
cpu/fft ifft c32 1 1d_n1024 skipped skipped 0.002 ± 0.000 skipped skipped 0.004 ± 0.000
cpu/fft ifft c32 1 1d_n1048576 skipped skipped 3.753 ± 0.033 3.753 ± 0.078 3.865 ± 0.060 10.069 ± 0.122
cpu/fft ifft c32 1 1d_n16384 skipped skipped 0.042 ± 0.001 skipped skipped 0.084 ± 0.001
cpu/fft ifft c32 4 1d_n1024 skipped skipped 0.004 ± 0.000 skipped skipped 0.004 ± 0.000
cpu/fft ifft c32 4 1d_n1048576 skipped skipped 4.248 ± 0.184 4.218 ± 0.079 4.178 ± 0.039 10.201 ± 0.321
cpu/fft ifft c32 4 1d_n16384 skipped skipped 0.042 ± 0.000 skipped skipped 0.083 ± 0.001
cpu/fft ifft c64 1 1d_n1024 skipped skipped 0.003 ± 0.000 skipped skipped 0.004 ± 0.000
cpu/fft ifft c64 1 1d_n1048576 skipped skipped 6.049 ± 0.111 6.052 ± 0.153 6.811 ± 0.078 11.239 ± 0.506
cpu/fft ifft c64 1 1d_n16384 skipped skipped 0.073 ± 0.000 skipped skipped 0.103 ± 0.001
cpu/fft ifft c64 4 1d_n1024 skipped skipped 0.005 ± 0.001 skipped skipped 0.004 ± 0.000
cpu/fft ifft c64 4 1d_n1048576 skipped skipped 5.955 ± 0.136 5.994 ± 0.035 6.177 ± 0.200 10.865 ± 0.861
cpu/fft ifft c64 4 1d_n16384 skipped skipped 0.072 ± 0.000 skipped skipped 0.102 ± 0.001
cpu/fft irfft c32 1 1d_n1024 skipped skipped 0.002 ± 0.000 skipped skipped 0.003 ± 0.000
cpu/fft irfft c32 1 1d_n1048576 skipped skipped 3.578 ± 0.069 3.618 ± 0.052 4.207 ± 0.065 3.547 ± 0.066
cpu/fft irfft c32 1 1d_n16384 skipped skipped 0.042 ± 0.000 skipped skipped 0.037 ± 0.000
cpu/fft irfft c32 4 1d_n1024 skipped skipped 0.003 ± 0.000 skipped skipped 0.003 ± 0.000
cpu/fft irfft c32 4 1d_n1048576 skipped skipped 3.626 ± 0.048 3.633 ± 0.031 4.311 ± 0.052 3.484 ± 0.028
cpu/fft irfft c32 4 1d_n16384 skipped skipped 0.042 ± 0.001 skipped skipped 0.037 ± 0.000
cpu/fft irfft c64 1 1d_n1024 skipped skipped 0.003 ± 0.000 skipped skipped 0.003 ± 0.000
cpu/fft irfft c64 1 1d_n1048576 skipped skipped 5.923 ± 0.119 5.944 ± 0.119 5.951 ± 0.052 4.510 ± 0.090
cpu/fft irfft c64 1 1d_n16384 skipped skipped 0.073 ± 0.000 skipped skipped 0.049 ± 0.000
cpu/fft irfft c64 4 1d_n1024 skipped skipped 0.004 ± 0.000 skipped skipped 0.003 ± 0.000
cpu/fft irfft c64 4 1d_n1048576 skipped skipped 5.900 ± 0.085 5.956 ± 0.320 6.238 ± 0.303 4.594 ± 0.117
cpu/fft irfft c64 4 1d_n16384 skipped skipped 0.072 ± 0.001 skipped skipped 0.049 ± 0.000
cpu/fft rfft f32 1 1d_n1024 skipped skipped 0.002 ± 0.000 skipped skipped 0.002 ± 0.000
cpu/fft rfft f32 1 1d_n1048576 skipped skipped 3.946 ± 0.065 3.917 ± 0.055 3.421 ± 0.085 3.472 ± 0.171
cpu/fft rfft f32 1 1d_n16384 skipped skipped 0.039 ± 0.000 skipped skipped 0.037 ± 0.000
cpu/fft rfft f32 4 1d_n1024 skipped skipped 0.003 ± 0.000 skipped skipped 0.003 ± 0.000
cpu/fft rfft f32 4 1d_n1048576 skipped skipped 3.959 ± 0.040 3.930 ± 0.105 3.397 ± 0.043 3.432 ± 0.070
cpu/fft rfft f32 4 1d_n16384 skipped skipped 0.039 ± 0.000 skipped skipped 0.037 ± 0.000
cpu/fft rfft f64 1 1d_n1024 skipped skipped 0.003 ± 0.000 skipped skipped 0.003 ± 0.000
cpu/fft rfft f64 1 1d_n1048576 skipped skipped 6.449 ± 0.108 5.616 ± 0.093 5.773 ± 0.086 4.333 ± 0.091
cpu/fft rfft f64 1 1d_n16384 skipped skipped 0.067 ± 0.001 skipped skipped 0.048 ± 0.000
cpu/fft rfft f64 4 1d_n1024 skipped skipped 0.004 ± 0.000 skipped skipped 0.003 ± 0.000
cpu/fft rfft f64 4 1d_n1048576 skipped skipped 6.405 ± 0.125 5.600 ± 0.238 5.734 ± 0.071 4.392 ± 0.019
cpu/fft rfft f64 4 1d_n16384 skipped skipped 0.068 ± 0.001 skipped skipped 0.048 ± 0.000

Notes: