Efficient Regular Sparse Grid Hierarchization by a Dynamic Memory Layout
We consider a new hierarchization algorithm for sparse grids of high dimension and low level. The algorithm is inspired by the theory of memory efficient algorithms. It is based on a cache-friendly layout of a compact data storage, and the idea of rearranging the data for the different phases of the algorithm. The core steps of the algorithm can be phrased as multiplying the input vector with two sparse matrices. A generalized counting makes it possible to create (or apply) the matrices in constant time per row. The algorithm is implemented as a proof of concept and first experiments show that it performs well in comparison with the previous implementation SG++, in particular for the case of high dimensions and low level.
KeywordsSparse Representation Sparse Grid Sparse Matrice Data Layout Naive Algorithm
Unable to display preview. Download preview PDF.
I am grateful to Dirk Pflüger for introducing me to the topic and providing me with the SG++ source code. For many fruitful discussions I want to thank Gerrit Buse, Dirk Pflüger and Hans Bungartz. Special thanks go to Philipp Hupp for many helpful comments and discussions to improve the presentation.
- 3.H.-J. Bungartz, Finite Elements of Higher Order on Sparse Grids, Habilitationsschrift (Shaker Verlag, München, 1998)Google Scholar
- 5.G. Buse, D. Pflüger, A.F. Murarasu, R. Jacob, A non-static data layout enhancing parallelism and vectorization in sparse grid algorithms, in ISPDC, ed. by M. Bader, H.-J. Bungartz, D. Grigoras, M. Mehl, R.-P. Mundani, R. Potolea (IEEE Computer Society, Washington, 2012), pp. 195–202Google Scholar
- 6.G. Buse, D. Pflüger, R. Jacob, Efficient pseudorecursive evaluation schemes for non-adaptive sparse grids, in Sparse Grids and Applications - Munich 2012 (Springer, Berlin, 2014)Google Scholar
- 7.A. Maheshwari, N. Zeh, A survey of techniques for designing I/O-efficient algorithms, in Algorithms for Memory Hierarchies, ed. by U. Meyer, P. Sanders, J. Sibeyn. Lecture Notes in Computer Science, vol. 2625 (Springer, Berlin, 2003), pp. 36–61Google Scholar
- 8.A. Murarasu, J. Weidendorfer, G. Buse, D. Butnaru, D. Pflüger, Compact data structure and parallel algorithms for the sparse grid technique, in 16th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2011Google Scholar
- 9.A.F. Murarasu, G. Buse, D. Pflüger, J. Weidendorfer, A. Bode, Fastsg: a fast routines library for sparse grids, in ICCS, ed. by H.H. Ali, Y. Shi, D. Khazanchi, M. Lees, G.D. van Albada, J. Dongarra, P.M.A. Sloot. Procedia Computer Science, vol. 9 (Elsevier, Amsterdam, 2012), pp. 354–363Google Scholar
- 10.D. Pflüger, Spatially Adaptive Sparse Grids for High-Dimensional Problems (Verlag Dr. Hut, München, 2010)Google Scholar
- 11.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