Skip to main content

OpenCL Based Parallel Algorithm for RBF-PUM Interpolation

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

References

  1. 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

    Article  Google Scholar 

  2. Babuška, I., Melenk, J.M.: The partition of unity method. Int. J. Numer. Methods Eng. 40, 727–758 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  3. 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)

    MathSciNet  MATH  Google Scholar 

  4. Brent, R.P.: Algorithms for Minimization Without Derivatives. Courier Corporation (2013)

  5. Buhmann, M.D.: Radial Basis Functions: Theory and Implementation, Cambridge Monographs on Applied and Computational Mathematics, vol. 12. Cambridge University Press, Cambridge (2003)

    Book  Google Scholar 

  6. Cavoretto, R.: A numerical algorithm for multidimensional modeling of scattered data points. Comput. Appl. Math. 34, 65–80 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  7. Cavoretto, R., De Rossi, A.: A trivariate interpolation algorithm using a cube-partition searching procedure. SIAM J. Sci. Comput. 37, A1891–A1908 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  8. 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)

    Article  MathSciNet  Google Scholar 

  9. 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)

    Article  MathSciNet  MATH  Google Scholar 

  10. 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)

    Article  MathSciNet  MATH  Google Scholar 

  11. De Marchi, S., Santin, G.: Fast computation of orthonormal basis for rbf spaces through Krylov space methods. BIT 55, 949–966 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  12. 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)

    Article  MathSciNet  MATH  Google Scholar 

  13. 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)

    Article  MathSciNet  MATH  Google Scholar 

  14. Ericson, C.: Real-Time Collision Detection (The Morgan Kaufmann Series in Interactive 3D Technology). Morgan Kaufmann Publishers Inc., San Francisco (2004)

    Google Scholar 

  15. Fasshauer, G., McCourt, M.: Kernel-Based Approximation Methods Using Matlab, Interdisciplinary Mathematical Sciences, vol. 19. World Scientific, Singapore (2015)

    MATH  Google Scholar 

  16. Fasshauer, G.E.: Meshfree Approximation Methods with Matlab, Interdisciplinary Mathematical Sciences, vol. 6. World Scientific, Singapore (2007)

    Book  MATH  Google Scholar 

  17. Fasshauer, G.E.: Positive definite kernels: past, present and future. Dolomites Res. Notes Approx. 4, 21–63 (2011)

    Article  Google Scholar 

  18. Fernando, R.: GPU Gems: Programming Techniques. Tips and Tricks for Real-Time Graphics, Pearson Higher Education (2004)

  19. Fornberg, B., Flyer, N.: A Primer on Radial Basis Functions with Applications to the Geosciences. SIAM, Philadelphia (2015)

    Book  MATH  Google Scholar 

  20. Fornberg, B., Larsson, E., Flyer, N.: Stable computations with Gaussian radial basis functions. SIAM J. Sci. Comput. 33, 869–892 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  21. 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

  22. 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)

    Article  MathSciNet  MATH  Google Scholar 

  23. Hubbert, S., Le Gia, Q., Morton, T.: Spherical Radial Basis Functions, Theory and Applications. SpringerBriefs in Mathematics. Springer, London (2015)

    MATH  Google Scholar 

  24. 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)

    Article  MathSciNet  MATH  Google Scholar 

  25. 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)

    Article  MathSciNet  MATH  Google Scholar 

  26. Nichols, B., Buttlar, D., Farrell, J.P.: Pthreads Programming. O’Reilly & Associates Inc, Sebastopol (1996)

    Google Scholar 

  27. Nickolls, J., Buck, I., Garland, M., Skadron, K.: Scalable parallel programming with CUDA. Queue 6(2), 40–53 (2008)

    Article  Google Scholar 

  28. Novak, E., Woźniakowski, H.: Tractability of Multivariate Problems Volume 1: Linear Information. No. 6 in EMS Tracts in Mathematics. European Mathematical Society (2008)

  29. NVIDIA: CUDA Samples (2013)

  30. OpenMP Architecture Review Board: OpenMP Application Program Interface Version 3.0 (2008). http://www.openmp.org/mp-documents/spec30.pdf

  31. Pazouki, M., Schaback, R.: Bases for kernel-based spaces. J. Comput. Appl. Math. 236, 575–588 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  32. R Core Team: R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria (2014)

  33. 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)

    Article  MathSciNet  Google Scholar 

  34. Renka, R.: Multivariate interpolation of large sets of scattered data. ACM Trans. Math. Softw. 14, 139–148 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  35. 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)

    Article  MathSciNet  MATH  Google Scholar 

  36. 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)

    Article  MathSciNet  MATH  Google Scholar 

  37. Saff, E., Kuijlaars, A.: Distributing many points on a sphere. Math. Intell. 19, 5–11 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  38. Schling, B.: The Boost C++ Libraries. XML Press, Fort Collins (2011)

    Google Scholar 

  39. Shcherbakov, V., Larsson, E.: Radial basis function partition of unity methods for pricing vanilla basket options. Comput. Appl. Math. 71, 185–200 (2016)

    Article  MathSciNet  Google Scholar 

  40. 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)

  41. 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

    Google Scholar 

  42. 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)

  43. Wendland, H.: Scattered Data Approximation, Cambridge Monographs on Applied and Computational Mathematics, vol. 17. Cambridge University Press, Cambridge (2005)

    Google Scholar 

  44. Wong, R., Luk, W., Heng, P.: Sampling with Hammersley and Halton points. J. Graphics Tools 2, 9–24 (1997)

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Teseo Schneider.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

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

Download citation

  • 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