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.
Please cite the GitHub repository. In addition, if FINUFFT (CPU library) was used, cite https://ui.adsabs.harvard.edu/abs/2019SJSC...41C.479B; if cuFINUFFT (GPU library) was used, cite https://ui.adsabs.harvard.edu/abs/2021arXiv210208463S