ATS-GPU-NUFFT is an extension for the ATS-GPU-OCT Signal Processing Library that allows non-uniform FFTs to be performed on data acquired uniformly in time domain using a fixed sampling rate. ATS-GPU-NUFFT requires ATS-GPU-BASE and ATS-GPU-OCT (sold separately).
Benchmarks have shown rates up to 1.2 Million FFT/sec. for preset linearization and up to 830,000 FFT/sec. for k-clock linearization for 2048-point FFTs.
ATS-GPU-NUFFT is callable from C/C++, C#, LabVIEW®, MATLAB®, and Python. Since these programming environments cannot call CUDA functions directly, the internal structure of ATS-GPU-NUFFT is fixed and cannot be modified by the user. Users are still allowed to download their own window function, dispersion compensation function, set zero-padding and select output data format.
Access to low-level API for customization
For expert-level GPU programmers who want to modify the inner workings of ATS-GPU-NUFFT, we offer ATS-CUDA-NUFFT. Included with ATS-GPU-NUFFT, ATS-CUDA-NUFFT implements non-uniform data processing using a lower level API, thus making it possible for each part of the signal processing chain to be modified to suit the application needs. ATS-CUDA-NUFFT is callable only from C/C++ and requires advanced GPU programming, debugging and benchmarking expertise.