Title
A parallel butterfly algorithm
Abstract
The butterfly algorithm is a fast algorithm which approximately evaluates a discrete analogue of the integral transform integral R-d K(x, y)g(y)dy at large numbers of target points when the kernel, K(x, y), is approximately low-rank when restricted to subdomains satisfying a certain simple geometric condition. In d dimensions with O(N-d) quasi-uniformly distributed source and target points, when each appropriate submatrix of K is approximately rank-r, the running time of the algorithm is at most O(r(2)N(d) logN). A parallelization of the butterfly algorithm is introduced which, assuming a message latency of alpha and per-process inverse bandwidth of beta, executes in at most O(r(2) N-d/p logN + (beta r N-d/p + alpha)log p) time using p processes. This parallel algorithm was then instantiated in the form of the open-source DistButterfly library for the special case where K(x, y) = exp(i Phi(x, y)), where Phi(x, y) is a black-box, sufficiently smooth, real-valued phase function. Experiments on Blue Gene/Q demonstrate impressive strong-scaling results for important classes of phase functions. Using quasi-uniform sources, hyperbolic Radon transforms, and an analogue of a three-dimensional generalized Radon transform were, respectively, observed to strong-scale from 1-node/16-cores up to 1024-nodes/16,384-cores with greater than 90% and 82% efficiency, respectively.
Year
DOI
Venue
2013
10.1137/130921544
SIAM JOURNAL ON SCIENTIFIC COMPUTING
Keywords
DocType
Volume
butterfly algorithm,Egorov operator,Radon transform,parallel,Blue Gene/Q
Journal
36
Issue
ISSN
Citations 
1
1064-8275
0
PageRank 
References 
Authors
0.34
12
4
Name
Order
Citations
PageRank
Jack Poulson11388.85
Laurent Demanet275057.81
Nicholas Maxwell360.88
Lexing Ying41273103.92