AWERProcedia
Information Technology
&
Computer Science
1 (2012) 228-232
2
nd
World Conference on Information Technology (WCIT-2011)
CUDA based iterative methods for linear systems
Bogdan Oancea
a
*, Tudorel Andrei
b
, Andreea Iluzia Iacob
b
a
”Nicolae Titulescu” UŶiversity, ϬϰϬϬϱϭ, Bucharest, RoŵaŶia, The Bucharest Acadeŵy of EcoŶoŵic Studies,Bucharest, RoŵaŶia
b
The Bucharest Academy of Economic Studies,Bucharest, Romania
Abstract
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.
Keywords: Iterative methods, CUDA, GPU computing, Linear systems;
Selection and/or peer review under responsibility of Prof. Dr. Hafize Keser.
©ϮϬϭϮ AĐadeŵiĐ World EduĐatioŶ & ResearĐh CeŶter. All rights reserǀed.
1. Introduction
From physics and engineering to macro econometric modeling, solving large linear systems of equations is a
common problem. For very large linear systems, the direct methods are not efficient because of high memory
and computational demands. Iterative methods are to be considered in such cases.
In 2002 Mark Harris [1] pointed out a new approach to obtain a high megaflop rate to the applications when
he started to use GPUs (graphical processing unit) for non-graphics applications. Nowadays Graphics Processing
*ADDRESS FOR CORRESPONDENCE , Bogdan Oancea (NiĐolae TitulesĐu UŶiǀersity, ϬϰϬϬϱϭ, BuĐharest, RoŵaŶia, The BuĐharest
Academy of Economic Studies,Bucharest, Romania). Tel.: +40723745035
E-mail address: oanceab@ie.ase.ro