CUDA based iterative methods for linear systems
"Nicolae Titulescu" University, 040051, Bucharest, Romania
AWERProcedia, Information Technology & Computer Science, Vol. 1, 228-232, 2012
@article{oancea2012cuda,
title={CUDA based iterative methods for linear systems},
author={Oancea, B.},
journal={AWERProcedia Information Technology and Computer Science},
volume={1},
year={2012}
}
Solving large linear systems of equations is a common problem in the fields of science and engineering. Direct methods for computing the solution of such systems can be very expensive due to high memory requirements and computational cost. This is a very good reason to use iterative methods which computes only an approximation of the solution.In this paper we present an implementation of some iterative linear systems solvers that use the CUDA programming model. CUDA is now a popular programming model for general purpose computations on GPU and a great number of applications were ported to CUDA obtaining speedups of orders of magnitude comparing to optimized CPU implementations.Our library implements Jacobi, Gauss-Seidel and non-stationary iterative methods (GMRES, BiCG, BiCGSTAB) using C-CUDA extension. We compare the performance of our CUDA implementation with classic programs written to be run on CPU. Our performance tests show speedups of approximately 80 times for single precision floating point and 40 times for double precision.
January 7, 2013 by hgpu