并行程序设计基础.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

计算圆周率的c语言代码段#defineN1000000main(){ doublelocal,pi=0.0,w; longi; w=1.0/N; for(i=0;iN;i++){ local=(i+0.5)*w; pi=pi+4.0/(1.0+local*local); } printf(“piis%f\n”,pi*w);}**第30页,共45页,星期日,2025年,2月5日并行程序设计基础12.1并行程序设计概述12.2进程12.3线程12.4同步12.5通信12.6并行程序设计模型**第31页,共45页,星期日,2025年,2月5日进程进程的基本概念进程的并行执行进程的相互作用**第32页,共45页,星期日,2025年,2月5日并行程序设计基础第1页,共45页,星期日,2025年,2月5日并行程序设计基础12.1并行程序设计概述12.2进程12.3线程12.4同步12.5通信12.6并行程序设计模型**第2页,共45页,星期日,2025年,2月5日并行程序设计概述并行程序设计难的原因并行语言的构造方法并行性问题交互/通信问题五种并行编程风范计算圆周率的样本程序**第3页,共45页,星期日,2025年,2月5日1并行程序设计难的原因技术先行,缺乏理论指导程序的语法/语义复杂,需要用户自已处理任务/数据的划分/分配数据交换同步和互斥性能平衡并行语言缺乏代可扩展和异构可扩展,程序移植困难,重写代码难度太大环境和工具缺乏较长的生长期,缺乏代可扩展和异构可扩展**第4页,共45页,星期日,2025年,2月5日2并行语言的构造方法串行代码段for(i=0;iN;i++)A[i]=b[i]*b[i+1];for(i=0;iN;i++)c[i]=A[i]+A[i+1];(a)使用库例程构造并行程序id=my_process_id();p=number_of_processes();for(i=id;iN;i=i+p)A[i]=b[i]*b[i+1];barrier();for(i=id;iN;i=i+p)c[i]=A[i]+A[i+1];例子:MPI,PVM,Pthreads(b)扩展串行语言my_process_id,number_of_processes(),andbarrier()A(0:N-1)=b(0:N-1)*b(1:N)c=A(0:N-1)+A(1:N)例子:Fortran90(c)加编译注释构造并行程序的方法#pragmaparallel#pragmashared(A,b,c)#pragmalocal(i){#pragmapforiterate(i=0;N;1)for(i=0;iN;i++)A[i]=b[i]*b[i+1];#pragmasynchronize#pragmapforiterate(i=0;N;1)for(i=0;iN;i++)c[i]=A[i]+A[i+1];}例子:SGIpowerC**第5页,共45页,星期日,2025年,2月5日三种并行语言构造方法比较2并行语言的构造方法**第6页,共45页,星期日,2025年,2月5日3并行性问题3.1进程的同构性SIMD:所有进程在同一时间执行相同的指令MIMD:各个进程在同一时间可以执行不同的指令SPMD:各个进程是同构的,多个进程对不同的数据执行相同的代码(一般是数据并行的同义语)常对应并行循环,数据并行结构,单代码MPMD:各个进程是异构的,多个进程执行不同的代码(一般是任务并行,或功能并行,或控制并行的同义语)常对应并行块,多代码要为有1000个处理器的计算机编写一个完全异构的并行程序是很困难的**第7页,共45页,星期日,2025年,2月5日并行块parbeginS1S2S3…….SnparendS1S2S3…….Sn可以是不同的代码并行循环:当并行块中所有进程共享相同代码时parbeginS1S2S3…….SnparendS1S2S3…….Sn是相同代码简化为parfor(i=1;i=n,i++)S(i)进程的同构性3并行性问题**第8页,共45页,星期日,2025年,2

文档评论(0)

xiaolan118 + 关注
实名认证
文档贡献者

你好,我好,大家好!

版权声明书
用户编号:7140162041000002

1亿VIP精品文档

相关文档