并行计算课程报告_第1页
并行计算课程报告_第2页
并行计算课程报告_第3页
并行计算课程报告_第4页
并行计算课程报告_第5页
已阅读5页,还剩15页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、成绩:并行计算导论课程报告学号:140120010057专业:软件工程班级:软件二班姓名:蒋琳珂2017年 6月 11、并行计算的实际意义并行计算或称平行计算是相对于串行计算来说的。 它是一种一次 可执行多个指令的算法,目的是提高计算速度,及通过扩大问题求解 规模,解决大型而复杂的计算问题。所谓并行计算可分为时间上的并 行和空间上的并行。 时间上的并行就是指流水线技术,而空间上的 并行则是指用多个处理器并发的执行计算。在应用需求方面,人类对计算机性能的需求总是永无止境的,在诸如预测模型的构造和模拟、工程设计和自动化、能源勘探、医学、 军事以及基础理论研究等领域中都对计算提出了极高的具有挑战性

2、的要求。例如,在作数值气象预报时,要提高全球气象预报的准确性,据估计在经度、纬度和大气层方向上至少要取200*100*20 = 40万各网格点。并行计算机产生和发展的目的就是为了满足日益增长的大规模科学和工程计算、事务处理和商业计算的需求。问题求解最大规模是 并行计算机的最重要的指标之一,也是一个国家高新技术发展的重要 标志。2、拟优化的应用介绍应用jacobi迭代近似求解二维泊松方程。二维泊松方程:u(x, y) f(X, y),(x, y) u(x, y) g(x, y),(x, y)其中2 2(O,W)*(O,H)u(x'y) 7吩'y)7吩'y)f(x,y)和g

3、(x,y)为已知函数,分别定义在的内部和边界上。对于任意正整数Mx和Ny,将网格剖分成Mx*Ny个相同的方格。在网格节点上,用二阶中心差分来近似二阶偏导数。2 宀 I、 Ui 1,j 2ui,j Ui 1,j-;7U(ihx, jhy)二x2hx2Ui,j 1 2Ui,j Ui,j 1-;2U(ihx,jhy)y2hy将差分近似代入泊松方程,便得到了五点差分离散格式,泊松方2(h: hjui'j h2(Ui i,j Ui i,j) h2(Ui,j 1 口J程的求1 i Mx 1,1 j Nx之后用经典的jacobi算法来求解此方程组。从任意一初始近似U°j,i 1,2,3,

4、Mx.j1,2,3 ,Ny出发,迭代计算:2 2 2 2khxhyfi,jhy(Ui1,jUi1,j) hx(Ui,j1Ui,j1)Ui,j2( h2 h:)i 1,2,3, Mx.j 1,2,3 ,Ny迭代序号k=1,2,3直至近似解满足误差要求。若f(x,y)4,且在边界上g(x,y)/那么泊松方程的2解析解为u(x,y) xy2若 g(x,y) 0f(x, y) 4 2sin(2 x)sin(2 y)3、串行算法设计(或介绍),那么泊松方程的一个解析解是 u(x, y) sin(2 x)sin(2 y)。最耗时的是主循环,是一个三重循环嵌套,时间复杂度为 3八N。4、并行算法设计对主循环

5、进行OpenMP并行优化,采用#p ragma omp p arallel for reducti on(+:uerr) default (none)shared(c1,c2,fij,hy2,hx2,N yp 1)shared(u1,uO) pri vate(ix,jy,tmP)时间复杂度无太大变化。但是多个线程运算也的确加速了其运算速度。5、采用的并行计算机结构介绍采用个人笔记本进行最终测试,其配置如下:辟爭丹也的H笔记车毛底扫短汀百:R15 5H训iird/梟二 P 尿也 I DiictiX V « Cere 1I-Z2.HMJ 煜 £ bOGHz-e=riingS硬盂

6、婆 2'9'HSaCC4CCi I 芝持 7th Gererjtor PirocesOir Farrily7C'*RAM Re03 53 I Ei 口二尺4j DCR4 240CMH; 1Lerevo SSL U7C0 M 2 128123 GB,匱壬理 iN'.'iJij Gtror -.r 5T,< 9E0W i ? GE / E?誓 i詩變 I ENi.JrA , 註.1 1芽号夕 Xigr Definition Auoic 按制器 坯旻肓其+ i ®程 Giqa-k Ether-rt Ccrtrcl er / 尹理6、基于Open

7、MP的并行程序实现#in clude<stdio.h>#in cludevstdlib.h>#in clude<math.h>#in clude<o mp .h>#if defi ned(_WIN32)|defi ned(_WIN64)#in cludevsys/timeb.h>#defi ne gettime(a) _ftime(a)#defi ne usec(t1,t2) (t2).time-(t1).time)*1000+ (t2).millitm-(t1).millitm)*100)typ edef struct _timeb times

8、truct;#else#in clude<sys/time.h>#defi ne gettime(a) gettimeofday(a,NULL)#defi ne usec(t1,t2) (t2).tv_sec-(t1).tv_sec*1000000+ (t2).tv_usec-(t1).tv_usec)typ edef struct timeval timestruct;#endif / defi ned(_WIN32)|defi ned(_WIN64)#defi ne Mx 8191#defi ne Ny 1023float uval(float x, float y)retur

9、n (x*x + y*y);int main()float Widthy = 2.0, Heightx = 1.0;float *u0, *u1;float hx, hy, hx2, hy2, fij, c1, c2;float uerr, errtol, tmp, *t prt;int ix, jy, maxIter, iter;int Nyp1 = Ny + 1;timestruct t1, t2;long long tela psed;u0 = (float*)malloc(sizeof(float)*(Mx + 1)*(Ny + 1);u1 = (float*)malloc(sizeo

10、f(float)*(Mx + 1)*(Ny + 1);maxIter = 100;errtol = 0.00f;hx = Heightx / Mx;hy = Widthy / Ny;/初始化u0/u1的左右边界 for (ix = 0; ix <= Mx; ix+)u0ix*N yp1 + 0 = u1ix*Ny p1 + 0 = uval(ix*hx, 0.0f);u0ix*Ny p1 + Ny = u1ix*Ny p1 + Ny = uval(ix*hx, Ny*hy);/初始化uO/u1的上下边界 for (jy = 0; jy <= Ny; jy+)uOjy = u1jy

11、= uval(O.Of, jy*hy);uOMx*Ny p1 + jy = u1Mx*Ny p1 + jy = uval(Mx*hx, jy*hy);/初始化uO的内部点 for (ix = 1; ix < Mx; ix+)for (jy = 1; jy < Ny; jy+)uOix*Ny p1 + jy = O.Of;fij = -4.0f;c1 = hx*hx*hy*hy;c2 = 1.0f / (2.0*(hx*hx + hy*hy);hx2 = hx*hx;hy2 = hy*hy;gettime(&t1);/主要迭代 for (iter = 1; iter <

12、= maxIter; iter+)uerr = O.Of;#p ragma omp p arallel for reductio n(+:uerr) default (none) shared (c1,c2,fij,hy2,hx2,Ny p1)shared(u1,u0)p rivatefor (ix = 1; ix < Mx; ix+)for (jy = 1; jy < Ny; jy+)u1ix*Ny p1 + jy = (c1*fij + hy2*(u0(ix - 1)*Ny p1 + jy+ uO(ix + 1)*N yp1 + jy) +hx2*(uOix*Nyp1+ jy

13、- 1 + uOix*Nyp1 + jy +1)*c2;tmp = fabs(u0ix*Ny p1 + jy - u1ix*Ny p1 + jy);uerr = tmp > uerr ? tmp : uerr;prin tf("iter = %d uerr =%en", iter, uerr);if (uerr<errtol)break;tprt = uO;u0 = u1;u1 = tprt;gettime(&t2);tela psed = usec(t1, t2);printf(” 历时=%13ld 微秒 n", telapsed);free

14、(uO);free(u1);return 0;7、并行优化结果分析匪学 20H5A001CC 笔记X换扫前; 201704讨10 6112 ( DirectX 1 2 J盖样年 Cere Z 5OGHz 霞核蔗惨 20'H5rtOC4CO I 菟持驴 7th Gererjtor Processor Frrily/DRAM Regb GB f 三B DO中i 24&D'Mhz / 携元 DCR4 2'40CMHz )Lnevo 红,U7CiO M 2 1286 1>8 GB / 匿壬舷 iNviJio GcFurcr GTX 勢OM I. ? GE / 狂枣

15、 j睜嗖 LEWW.A , 1531 i英挣T HigiM Definiition Auaio 按制器?iTL5£f'er I '61'12 GiqaDk Eth-et Ccrtrel er / 李穿编译平台:VS2017并行编程平台:OpenMP测试数据集合:100次jacobi迭代求二维泊松方程的近似解。集群测试:串行算法结果:iter为迭代次数,uerr为误差。时间单位为微秒。140120100igysdx T,cd sutjiit/ri40123010057sdx submUlS ,/lacobi.oIt&r1 1Liern=2.49aie7e

16、+e0iter2 1err-1.243041e+eoilzEr3 Ierr-G.2G413&e-G1itEr4 1err-6.216925-01iter*5 1uenr-4.6735620eiitarNe 1arr=3.S70099a-01itM1 j&rr-3.4Q9A13e-eiIter18 1uerr三2.甩鈕-eiiter9 1err=2.Zyj?bJe-eiIter10uerr=2,3283SSe-01Iter11uerr=2.154e77e£1iter12uerr=l*992140e-01iter13uerr-1.77e4O9fl*01ite r14uer

17、r-1.7192&7e-01iter15UGPn=1.515eS0e-01itpr*Ifiuppn=i.dqs7?iP-ftlitpr17UPrr-01it&plauerr-01Iter19uerr=J.2431i2e-01Iterleuerr=1.169059-01iter21uerr=l,13e714eiter*22uerr-1.0456776iter23uerr-1.032202citer=24uerr=g.S79eS6oiter25uGPr=g.457731eitpnLiprn=fi.94i)36P-03itpr11ijprr=fi.ft974S0p-0?it&

18、p2Buerr-8*3542706-02Iteruerr-a.06J&3e*02Iter30utnr-7.818305e-02iter31uerr=7.431173e-02iter32uerr-7,32S855e-Q3iter33uerr-6.512565c02iter=J4uerr=6.Sei9、2e-02iter=35uerr=6.5e5B57e-02It&r36er r-=6.473529e-02iter-37Uerr-G.2402J7t-02iter3Suerr-G.0993aee-02it&r=39ucnr=S.93S14e-03iter旳0uenr却 e-0

19、2itfriluprrft?iter42uerr-S.a43&72e-02It&r=43uerr02iter=44uerr=5,153942e-02iter=45uerr=5,132361e-82it&r-4Gerr-4.946303e-02ittr-47u电rr-4.339410002It&r=a&uerr=d.7535a2e-02It&r=4.9uenr=4.6aaas4p-02itpr=讯uerr»?iter=51err=4.47b2i7e-02Iter52uerr-4.396093e-02Iter=55UtfT=4. ZBMlB

20、e-02Iter-S4uerr-4.2307a3e-02it&r55uerr-4.104471e-92iter56uerr-4,07364Jle02iter57err-i.91023e-02It&r=58uerr=3,924573e-02itersyuenr=3.!il5b0Je-02It&r60uenr=3.7B3a23e-02Itereiuerr&03e-02itere2err=3.&4G579e-02ittr3uerr&2iter4uenr=3.5200SSg-02it&r65uenr=M46S3J3e-02itpr畐丘UP nrf

21、l?itprSfi7LJprr-i,i6177SP-B?Iter68uerr-3.Zfl4a43e-时丄ter=65uefT=3.25954ee-02iter=70uerr=3,1742iee-02iter71uenr-3.iei490e-02it&r72err-3.阴鬪昭巳02Iter73uerr=3.0&7434eiterItuerr=3.e0nS51a63iter7?uerr=2.q7753Seitpr托uprr=? 4巧阳bee?iter77uerr=2.S9Sb5Se02Iter7fluerr-2.S49460e02iLer=79utfrr=2.S076e5tf02i

22、ter=闕uerr=2.775741h強iter81uerr-2.7273g0e02iter-uerr-2.70W9e02iteruerr-2.651JBle02iteru&rr-2.6357«Se03iter£5u&rr=3.5778775Xiter8fcuerr=2,5(j9?(ie02iter37uerr=2.513417e02Ker3£uerr=2.50j&40e02iter8Suerr=2.4626e5e62iter90uerr-2-44301&502iter91uerr-2.40753e02iter=盟uerr=i.3S

23、3077B強iter=93u&rr=3 354014ait(*r=9duprr=?.37'i:3flP03itpr=95Uprrfl2iter96uerr-Z,269L49e02Iter=97uerr=2.251539e02iLer=弼uerr=2.21503Se02iter=uerr=2 .202213E02iter100 uerr -2,152671e-Q2EliipcdTimc -1524I1S0 microseconds并行算法结果:14fl1?;iB10057gys(lx Ruhmt押.ZjarobiOpenNP.a iter = 1 uerr iZr - 2 uer

24、r iL«r - 3 usrr iter - 4 uerr iter = 5 itr = fi itflr - 7 It 刖=a=9uerpUprruerruerriter iter it" itep It电户uerr-10-11-12 =13uerruerruerruerpiter = 14 Itep = 15 iter = itor - itp = iter = itfP =uerruerr*=4.6777b6e+9e -2.430giSe+00-1.3d2ia4etaG =1 023396+00 胡“山n%. 01 -3,0944776-01 =5,7iaiBSe-0

25、J =S.664779e-01-5.982298e-01 -5.e79682G 01-5.363391e-ei =4,y?19«le*01=4.S53b/OE-ttl =4.4344.34e-Gliteriteriter1617laIQ20uerruerruerruerrUprpiter = 21 lt*!r - 22 itflp - 23 iter - 24 iter = 25 计 pr* = 7fi itr - 27 Iter - 2a iter =上勺 iter - 30 itfin = itflr iter -=uerruerruerruerrueppuprruerruerr

26、uerruerr3112i334uerr*u»rruerruerrIter = 55 iter - 36 itflr - 37uerruerrdcrr=4.44735Je-ei -4.211711c =4,109S10c =3.9Ga232e=3.752771e-3,5G2423fl -3.422243e =3.3939dSe =3.?94i?7p -3.244314e -3,176200e -3.11682315 -3.067117e -2.991177e -?.q6ftS39e 2.885砸建=2.S737i5e=2.B106S9e -2.737945 -2.73J874e01G

27、1010101ei010101 010101011 tpr iter iter iter iter iter iter Iter iter Iter Iter iter iter iter i tpr itpr iter iter iter-MS=39=40=41-42=45=44-45-46-47=dfi=斗y=50=51-52-S3=54=SF=5h-57=5B=590101 01 ei010101eiiter iter iter Iter iter Iter iter iter iter iter i tpr iter iter iter iter iter iter6061626364

28、65 GGC7 e& 葩 7R717273747576uerr -2.70SSSle LCP" =i.6757£e ucp*' =a+63d6SSe ijppp =7,hft9S15p uern -2,5663&ae uerr =2.5495 u 曰T =2.5625i5e uerr -2*阳2理7亡 uorr -2.453494c uepf* -2.4392<3e uerr* =3.ifl7316euerr =2.JaBJBHe uer =2*362了5了e uerr =2,340127e uerr -2.320fl30e iiGrr -2.

29、 2942 ?4o LGP" =2.i7&10e ijpp*' =5,2Sfi7flSp uppn =7. ?9Sft7p uern -2,210196e ueiT =2.201710e uerr =2.176&25euer*' -2 1653 S9e uorn -2.14/1033C uern -2.13323 uerr =2,112416e uerr =Z.tfybi)iye nep*' =2,0S1753e uerr =2.064027e uerr -2,051)SOe uerr -2.0327&So uepr =2*022269

30、。 Lpp*' =5. fl03193p uern =1.995023e uern -l,976297e ueiT =1.9677?3e uerr -1.S1371e uerr -1.9413i9e uern -1.5270190010101 Al010i0101 el01010101 盯010101 fll ftl010101010101HlHl0101010101 010101010101uepritfip = 77 uerr itep = 7S itpp = 7*5 uppr=1.91S659e-01=1.903339-M=1.89967-01iter = se uerr Ite

31、r - SI uerr iLdP 32 uerr iter - 33 uerriter - iter* = it* - iter - iter =Iter =iter =iter -iter -84 uerrS5 膈8759uerruppruerruerruerr9& uerr91 uerr92 uerriter = 93 uerritep = uerritpp = 9")Iter =光iLer - 97iLtfr 1 96iter - 99uprruerruerrerruerr-l.SB00e2e-eJ -l.S66425e-ei -1.657314-01 -l.e42319e-ei -l.S55146e-01 -1,819849<3 01 -1=1./y231tfe-01 =1.779917e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论