tenstorrent / tt-metal

:metal: TT-NN operator library, and TT-Metalium low level kernel programming model.
Apache License 2.0
398 stars 50 forks source link

[Feature Request] Add Discrete and Fast Fourier Transform #11835

Open JushBJJ opened 4 weeks ago

JushBJJ commented 4 weeks ago

Is your feature request related to a problem? Please describe. Fast Fourier Transform (FFT) is used in Signal Processing, which I have seen a user on Discord thinking of testing out TT cards for it. But personally I use it for trying to implement Smooth Life via TTNN, which isn't implemented in the TTNN or TT-Metal APIs.

Describe the solution you'd like Preferably these set of DFT and FFTs:

Describe alternatives you've considered I have implemented my own 2D Complex and Real FFT manually outside of TT in C++ a couple months ago which could be translated to TT-Metal, but it isn't optimized and I don't know much about the equation to implement inverse FFT correctly.

mbahnasTT commented 3 days ago

@JushBJJ we have the FFT in our feature list roadmap. Is your existing C++ implementation block-based or tile-based?