Hybrid Dealiasing and Implicit Packing for Real Convolutions
Hybrid dealiasing is an FFT-based method for computing linear convolutions of complex-valued data that reduces the cost of dealiasing by performing zero padding implicitly. We develop two new algorithms that extend hybrid dealiasing to real-valued convolutions. The first algorithm exploits conjugate symmetries in the transformed data and computes each residue contribution directly. The second algorithm employs complex-valued hybrid dealiasing via a new implicit packing technique, which packs real-valued data into complex-valued arrays and performs all unpacking and packing operations implicitly in the transformed domain. Multidimensional versions of both algorithms are obtained by recursive decomposition into lower-dimensional convolutions. Based on these algorithms, efficient routines to compute convolutions of equal-length input arrays are implemented in the open-source FFTW++ library. These routines outperform the standard method of explicit zero padding in one, two, and three dimensions. In many cases, implicit packing without hybrid dealiasing is nearly as fast as the general hybrid dealiasing algorithm, particularly when multithreading.
Comments
Log in to comment, reply, and vote.
No comments yet.