Evaluation of Splitting-Up Conjugate Gradient Method on GPUs
Akiyoshi Wakatani · 2016
This paper describes the implementation of a preconditioned CG (Conjugate Gradient) method on GPUs and evaluates the performance compared with CPUs. Our CG method utilizes SP (Splitting-Up) preconditioner, which is suitable for parallel processing because other dimensions except for one dimension are independent. In order to enhance the memory bandwidth to the global memory of GPUs, our implementation utilizes a pseudo matrix transposition before and after a tridiagonal matrix solver, which results in coalesced memory accesses. In addition, the number of pseudo matrix transpositions can be reduced to only one by using a rotation configuration technique. By these techniques, the speedups of our approach can be enhanced by up to 102.2%.