Efficient Pseudorecursive Evaluation Schemes for Non-adaptive Sparse Grids
In this work we propose novel algorithms for storing and evaluating sparse grid functions, operating on regular (not spatially adaptive), yet potentially dimensionally adaptive grid types. Besides regular sparse grids our approach includes truncated grids, both with and without boundary grid points. Similar to the implicit data structures proposed in Feuersänger (Dünngitterverfahren für hochdimensionale elliptische partielle Differntialgleichungen. Diploma Thesis, Institut für Numerische Simulation, Universität Bonn, 2005) and Murarasu et al. (Proceedings of the 16th ACM Symposium on Principles and Practice of Parallel Programming. Cambridge University Press, New York, 2011, pp. 25–34) we also define a bijective mapping from the multi-dimensional space of grid points to a contiguous index, such that the grid data can be stored in a simple array without overhead. Our approach is especially well-suited to exploit all levels of current commodity hardware, including cache-levels and vector extensions. Furthermore, this kind of data structure is extremely attractive for today’s real-time applications, as it gives direct access to the hierarchical structure of the grids, while outperforming other common sparse grid structures (hash maps, etc.) which do not match with modern compute platforms that well. For dimensionality d ≤ 10 we achieve good speedups on a 12 core Intel Westmere-EP NUMA platform compared to the results presented in Murarasu et al. (Proceedings of the International Conference on Computational Science—ICCS 2012. Procedia Computer Science, 2012). As we show, this also holds for the results obtained on Nvidia Fermi GPUs, for which we observe speedups over our own CPU implementation of up to 4.5 when dealing with moderate dimensionality. In high-dimensional settings, in the order of tens to hundreds of dimensions, our sparse grid evaluation kernels on the CPU outperform any other known implementation.
Unable to display preview. Download preview PDF.
This publication is based on work supported by Award No. UK-C0020, made by King Abdullah University of Science and Technology (KAUST). The second author would like to thank the German Research Foundation (DFG) for financial support of the project within the Cluster of Excellence in Simulation Technology (EXC 310/1) at the University of Stuttgart. Special thanks go to Matthias Fischer, who helped with the implementation of the different sparse grid bases.
- 1.J. Benk, D. Pflüger, Hybrid parallel solutions of the Black-Scholes PDE with the truncated combination technique, in Proceedings of the High Performance Computing and Simulation (HPCS) (IEEE, Madrid, 2012), pp. 678–683Google Scholar
- 3.G. Buse, R. Jacob, D. Pflüger, A. Murarasu, A non-static data layout enhancing parallelism and vectorization in sparse grid algorithms, in Proceedings of the 11th International Symposium on Parallel and Distributed Computing – ISPDC 2012 (IEEE, Los Alamitos, 2012), pp. 195–202Google Scholar
- 4.D. Butnaru, G. Buse, D. Pflüger, A parallel and distributed surrogate model implementation for computational steering, in Proceedings of the 11th International Symposium on Parallel and Distributed Computing – ISPDC 2012 (IEEE, Los Alamitos, 2012), pp. 203–210Google Scholar
- 5.C. Feuersänger, Dünngitterverfahren für hochdimensionale elliptische partielle Differential-glei-chung. Diploma Thesis, Institut für Numerische Simulation, Universität Bonn, 2005Google Scholar
- 6.M. Frommert, D. Pflüger, T. Riller, M. Reinecke, H.-J. Bungartz, T. Enßlin, Efficient cosmological parameter sampling using sparse grids. Mon. Not. R. Astron. Soc. 406, 1177–1189 (2010)Google Scholar
- 11.A. Heinecke, D. Pflüger, Multi- and many-core data mining with adaptive sparse grids, in Proceedings of the 8th ACM International Conference on Computing Frontiers, vol. 29 (ACM, New York, 2011), pp. 1–29Google Scholar
- 13.R. Jacob, Efficient regular sparse grid hierarchization by a dynamic memory layout, in Sparse Grids and Applications, Munich 2012 (Springer, Berlin, 2013)Google Scholar
- 14.A. Murarasu, J. Weidendorfer, G. Buse, D. Butnaru, D. Pflüger, Compact data structure and scalable algorithms for the sparse grid technique, in Proceedings of the 16th ACM Symposium on Principles and Practice of Parallel Programming (Cambridge University Press, New York, 2011), pp. 25–34Google Scholar
- 15.A. Murarasu, G. Buse, J. Weidendorfer, D. Pflüger, A. Bode, fastsg: a fast routines library for sparse grids, in Proceedings of the International Conference on Computational Science – ICCS 2012. Procedia Computer Science (Elsevier, 2012)Google Scholar
- 16.Nvidia, CUDA C Programming Guide (Nvidia, Santa Clara, 2012)Google Scholar
- 17.Nvidia, OpenCL Programming Guide for the CUDA Architecture (Nvidia, Santa Clara, 2012)Google Scholar
- 18.D. Pflüger, Spatially Adaptive Sparse Grids for High-Dimensional Problems (Dr. Hut, München, 2010)Google Scholar
- 19.C. Zenger, Sparse grids, in Parallel Algorithms for Partial Differential Equations. Notes on Numerical Fluid Mechanics, vol. 31 (Vieweg, Braunschweig, 1991), pp. 241–251Google Scholar