PetRBF — A parallel O(N) algorithm for radial basis function interpolation with Gaussians

R Yokota, LA Barba, MG Knepley

Research output: Contribution to journalArticle (Academic Journal)peer-review

67 Citations (Scopus)

Abstract

We have developed a parallel algorithm for radial basis function (rbf) interpolation that exhibits O(N) complexity, requires O(N) storage, and scales excellently up to a thousand processes. The algorithm uses a gmres iterative solver with a restricted additive Schwarz method (rasm) as a preconditioner and a fast matrix-vector algorithm. Previous fast rbf methods — achieving at most O(NlogN) complexity — were developed using multiquadric and polyharmonic basis functions. In contrast, the present method uses Gaussians with a small variance with respect to the domain, but with sufficient overlap. This is a common choice in particle methods for fluid simulation, our main target application. The fast decay of the Gaussian basis function allows rapid convergence of the iterative solver even when the subdomains in the rasm are very small. At the same time we show that the accuracy of the interpolation can achieve machine precision. The present method was implemented in parallel using the petsc library (developer version). Numerical experiments demonstrate its capability in problems of rbf interpolation with more than 50 million data points, timing at 106 s (19 iterations for an error tolerance of 10− 15) on 1024 processors of a Blue Gene/L (700 MHz PowerPC processors). The parallel code is freely available in the open-source model.
Translated title of the contributionPetRBF — A parallel O(N) algorithm for radial basis function interpolation with Gaussians
Original languageEnglish
Pages (from-to)1793 - 1804
Number of pages12
JournalComputer Methods in Applied Mechanics and Engineering
Volume199, issues 25-28
DOIs
Publication statusPublished - May 2010

Bibliographical note

Publisher: Elsevier

Fingerprint

Dive into the research topics of 'PetRBF — A parallel O(N) algorithm for radial basis function interpolation with Gaussians'. Together they form a unique fingerprint.

Cite this