36 research outputs found
A parallel butterfly algorithm
The butterfly algorithm is a fast algorithm which approximately evaluates a
discrete analogue of the integral transform \int 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
N^d/p log N + \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 3D 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.Comment: To appear in SIAM Journal on Scientific Computin
Sweeping Preconditioner for the Helmholtz Equation: Moving Perfectly Matched Layers
This paper introduces a new sweeping preconditioner for the iterative
solution of the variable coefficient Helmholtz equation in two and three
dimensions. The algorithms follow the general structure of constructing an
approximate factorization by eliminating the unknowns layer by layer
starting from an absorbing layer or boundary condition. The central idea of
this paper is to approximate the Schur complement matrices of the factorization
using moving perfectly matched layers (PMLs) introduced in the interior of the
domain. Applying each Schur complement matrix is equivalent to solving a
quasi-1D problem with a banded LU factorization in the 2D case and to solving a
quasi-2D problem with a multifrontal method in the 3D case. The resulting
preconditioner has linear application cost and the preconditioned iterative
solver converges in a number of iterations that is essentially indefinite of
the number of unknowns or the frequency. Numerical results are presented in
both two and three dimensions to demonstrate the efficiency of this new
preconditioner.Comment: 25 page