Issue No. 07 - July (2016 vol. 27)
Jakub Kurzak , , Electrical Engineering and Computer Science, Knoxville, Tennessee
Hartwig Anzt , , Electrical Engineering and Computer Science, Knoxville, Tennessee
Mark Gates , , Electrical Engineering and Computer Science, Knoxville, Tennessee
Jack Dongarra , , Electrical Engineering and Computer Science, Knoxville, Tennessee
Many problems in engineering and scientific computing require the solution of a large number of small systems of linear equations. Due to their high processing power, Graphics Processing Units became an attractive target for this class of problems, and routines based on the LU and the QR factorization have been provided by NVIDIA in the cuBLAS library. This work addresses the situation where the systems of equations are symmetric positive definite. The paper describes the implementation and tuning of the kernels for the Cholesky factorization and the forward and backward substitution. Targeted workloads involve the solution of thousands of linear systems of the same size, where the focus is on matrix dimensions from 5 by 5 to 100 by 100. Due to the lack of a cuBLAS Cholesky factorization, execution rates of cuBLAS LU and cuBLAS QR are used for comparison against the proposed Cholesky factorization in this work. Execution rates of forward and backward substitution routines are compared to equivalent cuBLAS routines. Comparisons against optimized multicore implementations are also presented. Superior performance is reached in all cases.
Instruction sets, Random access memory, Registers, Graphics processing units, Niobium, Kernel, Linear systems
J. Kurzak, H. Anzt, M. Gates and J. Dongarra, "Implementation and Tuning of Batched Cholesky Factorization and Solve for NVIDIA GPUs," in IEEE Transactions on Parallel & Distributed Systems, vol. 27, no. 7, pp. 2036-2048, 2016.