Abstract
Two block cyclic reduction linear system solvers are considered and implemented using the OpenCL framework. The topics of interest include a simplified scalar cyclic reduction tridiagonal system solver and the impact of increasing the radix-number of the algorithm. Both implementations are tested for the Poisson problem in two and three dimensions, using a Nvidia GTX 580 series GPU and double precision floating-point arithmetic. The numerical results indicate up to 6-fold speed increase in the case of the two-dimensional problems and up to 3-fold speed increase in the case of the three-dimensional problems when compared to equivalent CPU implementations run on a Intel Core i7 quad-core CPU.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Thomas, L.H.: Elliptic Problems in Linear Difference Equations Over a Network. Technical report, Watson Sc Comput. Lab. Rept, Columbia University, New York (1949)
Hockney, R.W.: A Fast Direct Solution of Poisson’s Equation Using Fourier Analysis. J. Assoc. Comput. Mach. 12, 95–113 (1965)
Kass, M., Lefohn, A., Owens, J.D.: Interactive Depth of Field Using Simulated Diffusion. Technical report, Pixar Animation Studios (2006)
Sengupta, S., Harris, M., Zhang, Y., Owens, J.D.: Scan Primitives for GPU Computing. In: Proceedings of the 22nd ACM SIGGRAPH/EUROGRAPHICS Symposium on Graphics Hardware, pp. 97–106. ACM, NY (2007)
Zhang, Y., Cohen, J., Owens, J.D.: Fast Tridiagonal Solvers on the GPU. In: Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 127–136. ACM, New York (2010)
Gödeke, D., Strzodka, R.: Cyclic Reduction Tridiagonal Solvers on GPUs Applied to Mixed Precision Multigrid. IEEE Transactions on Parallel and Distributed Systems (TPDS), Special issue: High Performance Computing with Accelerators 22(1), 22–32 (2011)
Davidson, A., Owens, J.D.: Register Packing for Cyclic Reduction: a Case Study. In: Proceedings of the 4th Workshop on General Purpose Processing on Graphics Processing Units, pp. 4:1–4:6. ACM, NY (2011)
Lamas-Rodriguez, J., Arguello, F., Heras, D., Boo, M.: Memory Hierarchy Optimization for Large Tridiagonal System Solvers on GPU. In: IEEE 10th International Symposium on Parallel and Distributed Processing with Applications, pp. 87–94. IEEE (2012)
Hockney, R.W.: The Potential Calculation and Some Applications. Methods Comput. Phys. 9, 135–211 (1970)
Swarztrauber, P.N.: The Method of Cyclic Reduction, Fourier Analysis and the FACR Algorithm for the Discrete Solution of Poisson’s Equation on a Rectangle. SIAM Review 19, 490–501 (1977)
Buneman, O.: A Compact Non-Iterative Poisson Solver. Technical report 294, Stanford University Institute for Plasma Research, Stanford, CA (1969)
Sweet, R.A.: A Cyclic Reduction Algorithm for Solving Block Tridiagonal Systems of Arbitrary Dimension. SIAM J. Numer. Anal. 14, 706–719 (1977)
Sweet, R.A.: A Parallel and Vector Variant of the Cyclic Reduction Algorithm. SIAM J. Sci. Stat. Comput. 9, 761–765 (1988)
Vassilevski, P.: Fast Algorithm for Solving a Linear Algebraic Problem with Separable Variables. C. R. Acad. Bulgare Sci. 37, 305–308 (1984)
Kuznetsov, Y.A.: Numerical Methods in Subspaces. In: Marchuk, G.I. (ed.) Vychislitel’nye Processy i Sistemy II, vol. 37, pp. 265–350. Nauka, Moscow (1985)
Kuznetsov, Y.A., Rossi, T.: Fast Direct Method for Solving Algebraic Systems with Separable Symmetric Band Matrices. East-West J. Numer. Math. 4, 53–68 (1996)
Rossi, T., Toivanen, J.: A Parallel Fast Direct Solver for Block Tridiagonal Systems with Separable Matrices of Arbitrary Dimension. SIAM J. Sci. Comput. 20(5), 1778–1793 (1999)
Banegas, A.: Fast Poisson Solvers for Problems with Sparsity. Math. Comp. 32, 441–446 (1978)
Kuznetsov, Y.A., Matsokin, A.M.: On Partial Solution of Systems of Linear Algebraic Equations. Sov. J. Numer. Anal. Math. Modelling 4, 453–468 (1978)
Bini, D.A., Meini, B.: The Cyclic Reduction Algorithm: from Poisson Equation to Stochastic Processes and Beyond. Numer. Algor. 51(1), 23–60 (2008)
Bialecki, B., Fairweather, G., Karageorghis, A.: Matrix Decomposition Algorithms for Elliptic Boundary Value Problems: a Survey. Numer. Algor. 56, 253–295 (2011)
Rossi, T., Toivanen, J.: A Nonstandard Cyclic Reduction Method, Its Variants and Stability. SIAM J. Matrix Anal. Appl. 20(3), 628–645 (1999)
Heller, D.: Some Aspects of the Cyclic Reduction Algorithm for Block Tridiagonal Linear Systems. SIAM J. Numer. Anal. 13(4), 484–496 (1976)
OpenCL — The Open Standard for Parallel Programming of Heterogeneous Systems, http://www.khronos.org/opencl/
Hockney, R.W., Jesshope, C.R.: Parallel Computers: Architecture, Programming and algorithms. Hilger (1981)
Stone, H.S.: An Efficient Parallel Algorithm for the Solution of a Tridiagonal Linear System of Equations. Journal of the ACM 20(1), 27–38 (1973)
Davidson, A., Zhang, Y., Owens, J.D.: An Auto-Tuned Method for Solving Large Tridiagonal Systems on the GPU. In: Proceedings of the 25th IEEE International Parallel and Distributed Processing Symposium, pp. 956–965. IEEE (2011)
Alfaro, P., Igounet, P., Ezzatti, P.: Resolucion de Matrices Tri-diagonales Utilizando una Tarjeta Gráfica (GPU) de Escritorio. Mecanica Computacional 29(30), 2951–2967 (2010)
Kim, H., Wu, S., Chang, L., Hwu, W.W.: A Scalable Tridiagonal Solver for GPUs. In: Proceedings of the International Conference on Parallel Processing, pp. 444–453. IEEE (2011)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Myllykoski, M., Rossi, T., Toivanen, J. (2013). Fast Poisson Solvers for Graphics Processing Units. In: Manninen, P., Öster, P. (eds) Applied Parallel and Scientific Computing. PARA 2012. Lecture Notes in Computer Science, vol 7782. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-36803-5_19
Download citation
DOI: https://doi.org/10.1007/978-3-642-36803-5_19
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-36802-8
Online ISBN: 978-3-642-36803-5
eBook Packages: Computer ScienceComputer Science (R0)