Abstract
The sparse grid discretization technique enables a compressed representation of higher-dimensional functions. In its original form, it relies heavily on recursion and complex data structures, thus being far from well-suited for GPUs. In this paper, we describe optimizations that enable us to implement compression and decompression, the crucial sparse grid algorithms for our application, on Nvidia GPUs. The main idea consists of a bijective mapping between the set of points in a multi-dimensional sparse grid and a set of consecutive natural numbers. The resulting data structure consumes a minimum amount of memory. For a 10-dimensional sparse grid with approximately 127 million points, it consumes up to 30 times less memory than trees or hash tables which are typically used. Compared to a sequential CPU implementation, the speedups achieved on GPU are up to 17 for compression and up to 70 for decompression, respectively. We show that the optimizations are also applicable to multicore CPUs.
- C. Zenger. Sparse grids. In Wolfgang Hackbusch, editor, Parallel Algorithms for Partial Differential Equations, volume 31 of Notes on Numerical Fluid Mechanics, pages 241--251. Vieweg, 1991.Google Scholar
- H.-J. Bungartz and M. Griebel. Sparse grids. Acta Numerica, 13(- 1):147--269, 2004.Google Scholar
- D. Pflüger. Spatially Adaptive Sparse Grids for High-Dimensional Problems. Dissertation, Institut für Informatik, Technische Universität München, February 2010.Google Scholar
- H. Hacker, C. Trinitis, J. Weidendorfer, and M. Brehm. Considering GPGPU for HPC Centers: Is it Worth the Effort? In Proceedings of "Facing the Multicore-Challenge 2010", volume 6310 of LNCS. Springer, 2010. Google Scholar
Digital Library
- V. Volkov and J. Demmel. Benchmarking GPUs to tune dense linear algebra. In SC, page 31, 2008. Google Scholar
Digital Library
- E. Lindholm, J. Nickolls, S. F. Oberman, and J. Montrym. NVIDIA Tesla: A Unified Graphics and Computing Architecture. IEEE Micro, 28(2):39--55, 2008. Google Scholar
Digital Library
- NVIDIA. CUDA Programming Guide 2.2.1, 2009.Google Scholar
- S. Ryoo, C. I. Rodrigues, S. S. Baghsorkhi, S. S. Stone, D. B. Kirk, and W.W. Hwu. Optimization principles and application performance evaluation of a multithreaded GPU using CUDA. In PPOPP, pages 73--82, 2008. Google Scholar
Digital Library
- H. Wong, M. M. Papadopoulou, M. Sadooghi-Alvandi, and A. Moshovos. Demystifying gpu microarchitecture through microbenchmarking. In ISPASS, pages 235--246, 2010.Google Scholar
Cross Ref
- Hewlett-Packard Company. Standard Template Library Programmer's Guide, 1994.Google Scholar
- NVIDIA. CUDA SDK. http://developer.nvidia.com/object/cuda_2_2_downloads.html.Google Scholar
- M. May and T. Schiekofer. An Abstract Data Type for Parallel Simulations based on Sparse Grids. In A. Bode, J. Dongarra, T. Ludwig, and V. Sunderam, editors, Proceedings of the Third European PVM Conference, volume 1156 of Lecture Notes in Computer Science, pages 59--67. Springer Verlag, 1997. Google Scholar
Digital Library
- M. Griebel. Adaptive sparse grid multilevel methods for elliptic PDEs based on finite differences. Computing, 61(2):151--179, 1998. Google Scholar
Digital Library
- C. Feuersänger. D¨unngitterverfahren für hochdimensionale elliptische partielle Differentialgleichungen. Diplomarbeit, Institut für Numerische Simulation, Universität Bonn, 2005.Google Scholar
- S. Dirnstorfer. Adaptive numerische Quadratur höherer Ordnung auf dünnen Gittern. Diplomarbeit, Fakultät für Informatik, Technische Universität München, 2000.Google Scholar
- M. Griebel. The Combination Technique for the Sparse Grid Solution of PDE's on Multiprocessor Machines. Parallel Processing Letters, 2:61--70, 1992.Google Scholar
Cross Ref
- M. Griebel. A parallelizable and vectorizable multi-level algorithm on sparse grids. In Parallel algorithms for partial differential equations, Notes Numer. Fluid Mech. 31, pages 94--100. Vieweg, Wiesbaden, 1991.Google Scholar
- C. Teitzel, M. Hopf, and T. Ertl. Scientific visualization on sparse grids. Technical report, Universitt Erlangen-Nrnberg, Lehrstuhl fr Graphische Datenverarbeitung (IMMD IX), 2000.Google Scholar
- A. Gaikwad and I. M. Toke. GPU based sparse grid technique for solving multidimensional options pricing PDEs. In WHPCF '09: Proceedings of the 2nd Workshop on High Performance Computational Finance, pages 1--9, New York, NY, USA, 2009. ACM. Google Scholar
Digital Library
- V. Gaede and O. Günther. Multidimensional Access Methods. ACM Comput. Surv., 30(2):170--231, 1998. Google Scholar
Digital Library
- A. E. Lefohn, S. Sengupta, J. Kniss, R. Strzodka, and J. D. Owens. Glift: Generic, efficient, random-access GPU data structures. ACM Trans. Graph., 25(1):60--99, 2006. Google Scholar
Digital Library
- NVIDIA. NVIDIA's Next Generation CUDA Compute Architecture: Fermi. White paper, 2009.Google Scholar
Index Terms
Compact data structure and scalable algorithms for the sparse grid technique
Recommendations
Compact data structure and scalable algorithms for the sparse grid technique
PPoPP '11: Proceedings of the 16th ACM symposium on Principles and practice of parallel programmingThe sparse grid discretization technique enables a compressed representation of higher-dimensional functions. In its original form, it relies heavily on recursion and complex data structures, thus being far from well-suited for GPUs. In this paper, we ...
A Compiler Translate Directive-Based Language to Optimized CUDA
HPCC '14: Proceedings of the 2014 IEEE Intl Conf on High Performance Computing and Communications, 2014 IEEE 6th Intl Symp on Cyberspace Safety and Security, 2014 IEEE 11th Intl Conf on Embedded Software and Syst (HPCC,CSS,ICESS)Graphics processing units(GPUs) provide a low cost platform for accelerating high performance computations. New programming languages, such as CUDA and OpenCL, make GPU programming attractive to programmers. However, programming GPUs is still a ...
Multi- and many-core data mining with adaptive sparse grids
CF '11: Proceedings of the 8th ACM International Conference on Computing FrontiersGaining knowledge out of vast datasets is a main challenge in data-driven applications nowadays. Sparse grids provide a numerical method for both classification and regression in data mining which scales only linearly in the number of data points and is ...







Comments