dc.contributor.author | Poulson, Jack | |
dc.contributor.author | Demanet, Laurent | |
dc.contributor.author | Maxwell, Nicholas | |
dc.contributor.author | Ying, Lexing | |
dc.date.accessioned | 2014-07-01T21:10:24Z | |
dc.date.available | 2014-07-01T21:10:24Z | |
dc.date.issued | 2014-02 | |
dc.identifier.issn | 1064-8275 | |
dc.identifier.issn | 1095-7197 | |
dc.identifier.uri | http://hdl.handle.net/1721.1/88176 | |
dc.description.abstract | The butterfly algorithm is a fast algorithm which approximately evaluates a discrete analogue of the integral transform $\int_{\mathbb{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 \log N)$. 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 \frac{N^d}{p} \log N + (\beta r\frac{N^d}{p}+\alpha)\log p)$ time using $p$ processes. This parallel algorithm was then instantiated in the form of the open-source \textttDistButterfly 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. | en_US |
dc.description.sponsorship | National Science Foundation (U.S.) (NSF CAREER grant 0846501) | en_US |
dc.description.sponsorship | United States. Dept. of Energy (DOE grant DE-SC0009409) | en_US |
dc.description.sponsorship | King Abdullah University of Science and Technology | en_US |
dc.language.iso | en_US | |
dc.publisher | Society for Industrial and Applied Mathematics | en_US |
dc.relation.isversionof | http://dx.doi.org/10.1137/130921544 | en_US |
dc.rights | Article is made available in accordance with the publisher's policy and may be subject to US copyright law. Please refer to the publisher's site for terms of use. | en_US |
dc.source | Society for Industrial and Applied Mathematics | en_US |
dc.title | A Parallel Butterfly Algorithm | en_US |
dc.type | Article | en_US |
dc.identifier.citation | Poulson, Jack, Laurent Demanet, Nicholas Maxwell, and Lexing Ying. “A Parallel Butterfly Algorithm.” SIAM Journal on Scientific Computing 36, no. 1 (February 4, 2014): C49–C65.© 2014, Society for Industrial and Applied Mathematics. | en_US |
dc.contributor.department | Massachusetts Institute of Technology. Department of Mathematics | en_US |
dc.contributor.mitauthor | Demanet, Laurent | en_US |
dc.relation.journal | SIAM Journal on Scientific Computing | en_US |
dc.eprint.version | Final published version | en_US |
dc.type.uri | http://purl.org/eprint/type/JournalArticle | en_US |
eprint.status | http://purl.org/eprint/status/PeerReviewed | en_US |
dspace.orderedauthors | Poulson, Jack; Demanet, Laurent; Maxwell, Nicholas; Ying, Lexing | en_US |
dc.identifier.orcid | https://orcid.org/0000-0001-7052-5097 | |
mit.license | PUBLISHER_POLICY | en_US |
mit.metadata.status | Complete | |