Abstract
We present a parallel algorithm for multivariate Radial Basis Function Partition of Unity Method (RBF-PUM) interpolation. The concurrent nature of the RBF-PUM enables designing parallel algorithms for dealing with a large number of scattered data-points in high space dimensions. To efficiently exploit this concurrency, our algorithm makes use of shared-memory parallel processors through the OpenCL standard. This efficiency is achieved by a parallel space partitioning strategy with linear computational time complexity with respect to the input and evaluation points. The speed of our approach allows for computationally more intensive construction of the interpolant. In fact, the RBF-PUM can be coupled with a cross-validation technique that searches for optimal values of the shape parameters associated with each local RBF interpolant, thus reducing the global interpolation error. The numerical experiments support our claims by illustrating the interpolation errors and the running times of our algorithm.
This is a preview of subscription content, access via your institution.









References
Anderson, R.J., Snyder, L.: A comparison of shared and nonshared memory models of parallel computation. Proc. IEEE 79(4), 480–487 (1991). doi:10.1109/5.92042
Babuška, I., Melenk, J.M.: The partition of unity method. Int. J. Numer. Methods Eng. 40, 727–758 (1997)
Bozzini, M., Lenarduzzi, L., Rossini, M.: Polyharmonic splines: an approximation method for noisy scattered data of extra-large size. Appl. Math. Comput. 216, 317–331 (2010)
Brent, R.P.: Algorithms for Minimization Without Derivatives. Courier Corporation (2013)
Buhmann, M.D.: Radial Basis Functions: Theory and Implementation, Cambridge Monographs on Applied and Computational Mathematics, vol. 12. Cambridge University Press, Cambridge (2003)
Cavoretto, R.: A numerical algorithm for multidimensional modeling of scattered data points. Comput. Appl. Math. 34, 65–80 (2015)
Cavoretto, R., De Rossi, A.: A trivariate interpolation algorithm using a cube-partition searching procedure. SIAM J. Sci. Comput. 37, A1891–A1908 (2015)
Cavoretto, R., De Rossi, A., Perracchione, E.: Efficient computation of partition of unity interpolants through a block-based searching technique. Comput. Math. Appl. 71, 2568–2584 (2016)
Cavoretto, R., De Rossi, A., Perracchione, E., Venturino, E.: Robust approximation algorithms for the detection of attraction basins in dynamical systems. J. Sci. Comput. 68, 395–415 (2016)
Cavoretto, R., Fasshauer, G.E., McCourt, M.: An introduction to the Hilbert–Schmidt SVD using iterated Brownian bridge kernels. Numer. Algorithms 68, 393–422 (2015)
De Marchi, S., Santin, G.: Fast computation of orthonormal basis for rbf spaces through Krylov space methods. BIT 55, 949–966 (2015)
Dell’Accio, F., Di Tommaso, F.: Complete Hermite–Birkhoff interpolation on scattered data by combined Shepard operators. J. Comput. Appl. Math. 300, 192–206 (2016)
Deparis, S., Forti, D., Quarteroni, A.: A rescaled localized radial basis function interpolation on non-cartesian and nonconforming grids. SIAM J. Sci. Comput. 36, A2745–A2762 (2014)
Ericson, C.: Real-Time Collision Detection (The Morgan Kaufmann Series in Interactive 3D Technology). Morgan Kaufmann Publishers Inc., San Francisco (2004)
Fasshauer, G., McCourt, M.: Kernel-Based Approximation Methods Using Matlab, Interdisciplinary Mathematical Sciences, vol. 19. World Scientific, Singapore (2015)
Fasshauer, G.E.: Meshfree Approximation Methods with Matlab, Interdisciplinary Mathematical Sciences, vol. 6. World Scientific, Singapore (2007)
Fasshauer, G.E.: Positive definite kernels: past, present and future. Dolomites Res. Notes Approx. 4, 21–63 (2011)
Fernando, R.: GPU Gems: Programming Techniques. Tips and Tricks for Real-Time Graphics, Pearson Higher Education (2004)
Fornberg, B., Flyer, N.: A Primer on Radial Basis Functions with Applications to the Geosciences. SIAM, Philadelphia (2015)
Fornberg, B., Larsson, E., Flyer, N.: Stable computations with Gaussian radial basis functions. SIAM J. Sci. Comput. 33, 869–892 (2011)
Forum, M.P.I.: MPI: A Message-Passing Interface Standard Version 3.0 (2012). Chapter author for Collective Communication, Process Topologies, and One Sided Communications
Heryudono, A., Larsson, E., Ramage, A., von Sydow, L.: Preconditioning for radial basis function partition of unity methods. J. Sci. Comput. 67, 1089–1109 (2016)
Hubbert, S., Le Gia, Q., Morton, T.: Spherical Radial Basis Functions, Theory and Applications. SpringerBriefs in Mathematics. Springer, London (2015)
Krause, R., Zulian, P.: A parallel approach to the variational transfer of discrete fields between arbitrarily distributed finite element meshes. SIAM J. Sci. Comput. 38, C307–C333 (2016)
Melenk, J.M., Babuška, I.: The partition of unity finite element method: basic theory and applications. Comput. Methods. Appl. Mech. Eng. 139, 289–314 (1996)
Nichols, B., Buttlar, D., Farrell, J.P.: Pthreads Programming. O’Reilly & Associates Inc, Sebastopol (1996)
Nickolls, J., Buck, I., Garland, M., Skadron, K.: Scalable parallel programming with CUDA. Queue 6(2), 40–53 (2008)
Novak, E., Woźniakowski, H.: Tractability of Multivariate Problems Volume 1: Linear Information. No. 6 in EMS Tracts in Mathematics. European Mathematical Society (2008)
NVIDIA: CUDA Samples (2013)
OpenMP Architecture Review Board: OpenMP Application Program Interface Version 3.0 (2008). http://www.openmp.org/mp-documents/spec30.pdf
Pazouki, M., Schaback, R.: Bases for kernel-based spaces. J. Comput. Appl. Math. 236, 575–588 (2011)
R Core Team: R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria (2014)
Rashidinia, J., Fasshauer, G.E., Khasi, M.: A stable method for the evaluation of Gaussian radial basis function solutions of interpolation and collocation problems. Comput. Math. Appl. 72, 178–193 (2016)
Renka, R.: Multivariate interpolation of large sets of scattered data. ACM Trans. Math. Softw. 14, 139–148 (1988)
Rippa, S.: An algorithm for selecting a good value for the parameter \(c\) in radial basis function interpolation. Adv. Comput. Math. 11, 193–210 (1999)
Safdari-Vaighani, A., Heryudono, A., Larsson, E.: A radial basis function partition of unity collocation method for convection-diffusion equations arising in financial applications. J. Sci. Comput. 64, 341–367 (2015)
Saff, E., Kuijlaars, A.: Distributing many points on a sphere. Math. Intell. 19, 5–11 (1997)
Schling, B.: The Boost C++ Libraries. XML Press, Fort Collins (2011)
Shcherbakov, V., Larsson, E.: Radial basis function partition of unity methods for pricing vanilla basket options. Comput. Appl. Math. 71, 185–200 (2016)
Speck, R., Gibbon, P., Hofmann, M.: Efficiency and scalability of the parallel Barnes-Hut tree code PEPC. In: B. Chapman, F. Desprez, G.R. Joubert, A. Lichnewsky, F.J. Peters, T. Priol (eds.) Parallel Computing: From Multicores and GPU’s to Petascale, Advances in Parallel Computing, vol. 19, pp. 35–42. IOS Press (2010)
Stone, J.E., Gohara, D., Shi, G.: Opencl: a parallel programming standard for heterogeneous computing systems. IEEE Des. Test 12(3), 66–73 (2010). doi:10.1109/MCSE.2010.69
Wendland, H.: Fast evaluation of radial basis functions: methods based on partition of unity. In: C.K. Chui, L.L. Schumaker, J. Stöckler (eds.) Approximation Theory X: Wavelets, Splines, and Applications, pp. 473–483. Vanderbilt University Press (2002)
Wendland, H.: Scattered Data Approximation, Cambridge Monographs on Applied and Computational Mathematics, vol. 17. Cambridge University Press, Cambridge (2005)
Wong, R., Luk, W., Heng, P.: Sampling with Hammersley and Halton points. J. Graphics Tools 2, 9–24 (1997)
Acknowledgements
The first author acknowledges financial support from the GNCS-INdAM and sincerely thanks professor Kai Hormann for the invitation to visit the USI in Lugano. This work was supported by the SNF under Project Number 200020_156178. The method presented in this paper is implemented within the MOONoLith software library. We sincerely thank the two anonymous referees for helping us significantly improve our paper. Finally, we are grateful to the Swiss national supercomputing centre for providing us with the computational resources and the OpenCL SDK on their system for the scaling experiments.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Cavoretto, R., Schneider, T. & Zulian, P. OpenCL Based Parallel Algorithm for RBF-PUM Interpolation. J Sci Comput 74, 267–289 (2018). https://doi.org/10.1007/s10915-017-0431-x
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10915-017-0431-x
Keywords
- Mesh-free approximation
- Partition of unity methods
- Radial basis functions
- Scattered data interpolation
- Parallel algorithms
- Opencl
Mathematics Subject Classification
- 65D05
- 65D15
- 65Y05
- 65Y20
- 68W10