Giter Club home page Giter Club logo

fft_implement's Introduction

FFT

fft/ifft, r2c/c2r, 2d_r2c/2d_c2r, convolve, correlation, tiling fft, srfft, pfa, radix-2/3/5

using build.sh or build.bat in each sub directory to build on linux/windows

  • fft.cc
    naive fft/ifft, cooley_tukey/cooley_tukey_r, 1d/2d, r2c/c2r, convolve/correlate (signal process) implementation
  • mt/mt.cc
    same as above, but not using complex_t structure for complex arith. Plus implement AI/ML convolution(with r2c/c2r), notice the pad/shift/rotate is needed to go back to signal process convolution theorem.
    This is more friendly for further gpu kernel impl.
  • mt_ext2d/mt_ext2d.cc
    special optimization for 2d real input fft/ifft. the compute complexity is the same as original 1d r2c/c2r, but this make 2d r2c/c2r easier to write.
  • fft_convolution_algo/fft_conv.h
    One header function for AI/ML convolution implementation using convolution theorem, support nchw/cnhw format. much of code copied from mt/mt.cc
  • fft_tiling/fft_tiling.cc
    Tiling fft algorithm. Using small size fft to construct big size fft.
  • py/split-radix.py
    srfft
  • py/radix-r.py
    implement radix-2, radix-3, radix-5
  • py/pfa.py
    prime-factor-algorithm
  • py/dht.py
    hartley transform

r2c

r2c/c2r is a algorithm for all real input fft, which can reduce half compute complexity. Check R2C.md for detail.

fft_implement's People

Contributors

carlushuang avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.