方程组的迭代法求解在GPU上的实现

第6期张健:方程组的迭代法求解在GPU上的实现767

法。可以通过片上(On.chip)上百个处理器同步协作,从而快速解决复杂的运算问题。

CUDA是把GPU作为并行运算设备进行程序发布和管理运算,不需要将计算映射到图形应用程序接口的硬件和软件的架构。为了实现这一功能,CUDA定义了相应的逻辑架构,并于GPU设备相对应,如图1所示。其中,Thread是最小的逻辑运算单位,多个Thread组成Block。这些Thread可以处理相同或不同的运算过程,每个Thread在Block中有唯一的标识符,通过标识符来在程序中进行判断,就可以让某个或某些特定位置的数据得到相同或不同的运算处理。

图1CUDA逻辑架构及其与设备内存的对应关系2实现方法与结果分析

2.1雅可比迭代的基本方法与在GPU上的实现

雅可比迭代是计算线性方程组的一种基本方

法,对于求解n阶线性方程组Ax=b,将原方程组的

每一个方程ail戈1+口注茗2+…+ainX。=b。改写为未

知向量石的分量的形式:

n一1

菇i=(bf一∑aOxj)/ai(o≤i≤n一1)

i=0.J≠t

然后使用第k一1步所计算的变量戈;似。1’来计算第

k步的菇i¨’的值:

n—I

戈‘‘’=(bi一∑a0戈‘¨¨)/ai(o≤;≤n一1)

』=OJ乒i

这里,菇i@’为第k次迭代得到的近似解向量戈似)=(算l‘¨,菇2‘¨,…,戈。‘‘’)’的第i个分量。取适当初始解向量算∞’代人上述迭代格式中,可得到戈¨’,再由z‘1’得到名住’,依次迭代下去得到近似解向量序列{戈似’}。若原方程组的系数矩阵按行严格对角占优,则{艽似’}收敛于原方程组的解龙。实际计算中,一般认为,当相邻两次的迭代值石i¨+1’与z;㈤i=(1,2,…,n)很接近时,xi¨“’与准确解戈中的分量菇;也很接近,因此,一般用maxk—zjl判断迭代是否收敛¨J。程序基本流程如图2所示。

其中求厅个lleW2;i的过程,相互独立,可以利用

图2雅可比迭代法的流程图

GPU的单指令多数据(SIMD)程序的特性博一¨,并行执行。但是求误差maxIxi一菇il时,需要顺序遍历每个计算结果,才能做出是否继续迭代的判断,不适合GPU并行执行。考虑到雅克比迭代过程中,只要有一个变量的误差大于阈值占(最大值必定大于阈值艿),所有变量都需要重新计算。所以在并行程序设计时,需设置一个共享变量,当某个误差大于阈值占时,设置为需要继续迭代。当一次迭代完成后,每个thread访问共享变量,决定输出结果或者继续迭

代。程序流程如图3所示。

第6期张健:方程组的迭代法求解在GPU上的实现771

[4][5][6][7]【8]

IEEEComputer,2003.36(10):106—108.

KriigerJ。WestermannR.LinearAlgebraOperatorsforGPUIm—

plementation

ofNumeficMAlgorithms[J].ACMTransonGraph-

ics.2003,22(3):908—916.

吴恩华,柳有权.基于图形处理器(GPU)的通用计算[J].计

算机辅助设计与图形学学报,2004,16(5):601—612.

Cuda

Programming

GuideVersion2.0[M].NVIDIACorporation,

2008,6(7).

MichaelJQuill|1.ParalldProgramminginCWithMPIAndOpenMP

[M].‰McGrawHillCompames。he.≯04.

TomovS。McGuiganM,BennettR,eta1.Benchmarkingandlm—

plementationofProbability—BasedSimulationsOilProgrammable

张健(1977一),男,博士,讲师,主要

研究方向为多媒体信号处理。zhaoli@

Sell.edu.cn。

[9]

[10]

GraphicsCards[J].Computers&Graphics,2005,29(1):53—

56.

Thompson

CJ,HahnS,OskinM.UsingModemGraphicsArchi—

tecturesforGeneral—PurposeComputing:AFrameworkandAnMy-

sis[C]//PmeoftheInt’1SymponMicroarchitecture,2002:306

—317.

SkillicomDavidB,DomenicoTalia.ModelsandLanguagesfor

ParallelComputation[J].ACMComputingSurveys,1998,

30(2):123—169.

GoodnigIltN,WangR,HumphroysG.ComputationonProgram-

mable

GraphicsHaMware【J].ComputerGraphicsandApplica-

tions,IEEE,2005,25(5):12一15.

方程组的迭代法求解在GPU上的实现

作者:张健, ZHANG Jian

作者单位:南京工程学院通信工程学院,南京,211167

刊名:

电子器件

英文刊名:CHINESE JOURNAL OF ELECTRON DEVICES

年,卷(期):2010,33(6)

参考文献(11条)

1.胡家赣.线性代数方程组的迭代解法[M].北京:科学出版社,1999.

2.杨本立.线性方程组大数法快速并行解法[J].四川大学学报(自然科学版),2003,40(4):626-631.

3.Macedonia M.The GPU Enters Computing's Mainstream[J].IEEE Computer,2003,36(10):106-108.

4.Krüger J,Westermann R.Linear Algebra Operators for GPU Implementation of Numerical

Algorithms[J].ACM Trans on Graphics,2003,22(3):908-916.

5.吴恩华,柳有权.基于图形处理器(GPU)的通用计算[J].计算机辅助设计与图形学学报,2004,16(5):601-612.

6.Cuda Programming Guide Version 2.0[M].NVIDIA Corporation,2008,6(7).

7.Michael J Quinn.Parallel Programming in C With MPI And OpenMP[M].The McGraw Hill

Companies,Inc.2004.

8.Tomov S,McGuigan M,Bennett R,et al.Benchmarking and Implementation of Probability-Based Simulations on Programmable Graphics Cards[J].Computers & Graphics,2005,29(1):53-56.

9.Thompson C J,Hahn S,Oskin https://www.360docs.net/doc/9e6486757.html,ing Modern Graphics Architectures for General-Purpose Computing:A Framework and Analysis[C]//Proc of the Int'l Symp on Microarchitecture,2002:306-317.

10.Skillicorn David B,Domenico Talia.Models and Languages for Parallel Computation[J].ACM Computing Surveys,1998,30(2):123-169.

11.Goodnight N,Wang R,Humphreys https://www.360docs.net/doc/9e6486757.html,putation on Programmable Graphics Hardware[J].Computer Graphics and Applications,IEEE,2005,25(5):12-15.

本文链接:https://www.360docs.net/doc/9e6486757.html,/Periodical_dzqj201006027.aspx

相关文档
最新文档