DeepAI AI Chat
Log In Sign Up

cuFINUFFT: a load-balanced GPU library for general-purpose nonuniform FFTs

by   Yu-hsuan Shih, et al.

Nonuniform fast Fourier transforms dominate the computational cost in many applications including image reconstruction and signal processing. We thus present a general-purpose GPU-based CUDA library for type 1 (nonuniform to uniform) and type 2 (uniform to nonuniform) transforms in dimensions 2 and 3, in single or double precision. It achieves high performance for a given user-requested accuracy, regardless of the distribution of nonuniform points, via cache-aware point reordering, and load-balanced blocked spreading in shared memory. At low accuracies, this gives on-GPU throughputs around 10^9 nonuniform points per second, and (even including host-device transfer) is typically 4-10× faster than the latest parallel CPU code FINUFFT (at 28 threads). It is competitive with two established GPU codes, being up to 90× faster at high accuracy and/or type 1 clustered point distributions. Finally we demonstrate a 5-12× speedup versus CPU in an X-ray diffraction 3D iterative reconstruction task at 10^-12 accuracy, observing excellent multi-GPU weak scaling up to one rank per GPU.


A parallel non-uniform fast Fourier transform library based on an "exponential of semicircle" kernel

The nonuniform fast Fourier transform (NUFFT) generalizes the FFT to off...

Research on the fast Fourier transform of image based on GPU

Study of general purpose computation by GPU (Graphics Processing Unit) c...

P3DFFT: a framework for parallel computations of Fourier transforms in three dimensions

Fourier and related transforms is a family of algorithms widely employed...

Overcoming Limitations of GPGPU-Computing in Scientific Applications

The performance of discrete general purpose graphics processing units (G...

Marian: Cost-effective High-Quality Neural Machine Translation in C++

This paper describes the submissions of the "Marian" team to the WNMT 20...

GPU-friendly, Parallel, and (Almost-)In-Place Construction of Left-Balanced k-d Trees

We present an algorithm that allows for building left-balanced and compl...