[ascl:2412.007]
FINUFFT: Flatiron Institute Nonuniform Fast Fourier Transform
FINUFFT (Flatiron Institute Nonuniform Fast Fourier Transform) computes the three standard types of nonuniform FFT to a specified precision, in one, two, or three dimensions. It can be run on a multi-core shared-memory machine or on a GPU. It is extremely fast and has very simple interfaces to most major numerical languages (such as C/C++, Fortran, MATLAB, octave, Python, and Julia). FINUFFT also provides more advanced (vectorized and “guru”) interfaces that allow multiple strength vectors and the reuse of FFT plans.