Re:VkFFT – Vulkan Fast Fourier Transform Library
by DTolm on Sunday September 27, 2020 @11:37PM
(#24612738)
That is almost the correct answer. To go even further, there are sequences that are completely full of zeros in the padded case of multidimensional FFTs and we can omit their FFTs entirely.
[ Parent
| on HN ]
Re:VkFFT – Vulkan Fast Fourier Transform Library
by oxxoxoxooo on Monday September 28, 2020 @03:11AM
(#24613808)
Thank you for the reply! Could you be more specific? In the case of 1D FFT, the right half (possibly zero-padded) of the signal is completely mixed up with the left half after the first pass [of breath-first FFT]. If the right half was all zeros, would it still be twice as fast in 1D case? Do you have any pointers to literature which discusses this?
Re:VkFFT – Vulkan Fast Fourier Transform Library
by DTolm on Monday September 28, 2020 @03:40AM
(#24614029)
No, the 1D case will mostly save on the fact that it transfers 2x times less data from the vram to the chip. The up to 2x times increase in performance was mainly related to 2D and 3D cases, where only 1/4 or 1/8 of the data is nonzero. In 2D, when doing 1D FFTs over x-axis, we omit sequences after Ny/2 because we know they are full of 0 and thus their result will be 0. So we do 0.5Ny x-axis ffts and full Nx y-axis ffts. For a square system this will mean a drop from 2N to 1.5N sequences. In 3D the drop will be even bigger, from 3N^2 to (1/4+1/2+1)=1.75N^2 sequences (almost 2x).