Block Conjugate Gradient Solver in OpenCL
Institute of computer science, University of Tartu, Tartu, Estonia
University of Tartu, 2021
@article{tali2021block,
title={Block Conjugate Gradient Solver in OpenCL},
author={Tali, Kert and Vainikko, Eero},
year={2021}
}
The conjugate gradient method for solving certain systems of linear equations is widely used due to its iterative nature and fast convergence. Its boiled down algorithm contains simple matrix and vector operations which can be done in parallel with potential for great speedup. With the advent of GPGPU computing and accompanying programming models like OpenCL, basic linear algebra operations can be accelerated to beyond what was previously achievable on consumer grade hardware. This report presents and evaluates an OpenCL implementation of the block conjugate gradient algorithm with support for complex valued inputs and solving for multiple right-hand-side vectors in one go. The given code can be incorporated to any system that has an OpenCL supported device. The new implementation performs better than the platform adaptive clSPARSE library and implements features not found in other OpenCL alternatives.
July 11, 2021 by hgpu