Submitted by webmaster on
Title | Solving Dense Symmetric Indefinite Systems using GPUs |
Publication Type | Journal Article |
Year of Publication | 2017 |
Authors | Baboulin, M., J. Dongarra, A. Remy, S. Tomov, and I. Yamazaki |
Journal | Concurrency and Computation: Practice and Experience |
Volume | 29 |
Issue | 9 |
Date Published | 2017-03 |
Abstract | This paper studies the performance of different algorithms for solving a dense symmetric indefinite linear system of equations on multicore CPUs with a Graphics Processing Unit (GPU). To ensure the numerical stability of the factorization, pivoting is required. Obtaining high performance of such algorithms on the GPU is difficult because all the existing pivoting strategies lead to frequent synchronizations and irregular data accesses. Until recently, there has not been any implementation of these algorithms on a hybrid CPU/GPU architecture. To improve their performance on the hybrid architecture, we explore different techniques to reduce the expensive data transfer and synchronization between the CPU and GPU, or on the GPU (e.g., factorizing the matrix entirely on the GPU or in a communication-avoiding fashion). We also study the performance of the solver using iterative refinements along with the factorization without pivoting combined with the preprocessing technique based on random butterfly transformations, or with the mixed-precision algorithm where the matrix is factorized in single precision. This randomization algorithm only has a probabilistic proof on the numerical stability, and for this paper, we only focused on the mixed-precision algorithm without pivoting. However, they demonstrate that we can obtain good performance on the GPU by avoiding the pivoting and using the lower precision arithmetics, respectively. As illustrated with the application in acoustics studied in this paper, in many practical cases, the matrices can be factorized without pivoting. Because the componentwise backward error computed in the iterative refinement signals when the algorithm failed to obtain the desired accuracy, the user can use these potentially unstable but efficient algorithms in most of the cases and fall back to a more stable algorithm with pivoting only in the case of the failure. |
URL | http://onlinelibrary.wiley.com/doi/10.1002/cpe.4055/full |
DOI | 10.1002/cpe.4055 |
Short Title | Concurrency Computat.: Pract. Exper. |