- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
并行程序设计技术——MPI
并行程序设计技术——MPI 目录 “Hello World!” #include mpi.h #include stdio.h #include math.h void main(argc,argv) int argc; char *argv[]; { int myid, numprocs; int namelen; char processor_name[MPI_MAX_PROCESSOR_NAME]; MPI_Init(argc,argv); MPI_Comm_rank(MPI_COMM_WORLD,myid); MPI_Comm_size(MPI_COMM_WORLD,numprocs); MPI_Get_processor_name(processor_name,namelen); fprintf(stderr,Hello World! Process %d of %d on %s\n, myid, numprocs, processor_name); MPI_Finalize(); } “Hello World!” 一个C语言格式的MPI程序 在每个进程中输出“Hello World!”以及进程编号等信息 如果设置每台机器运行一个进程,那么在一个有四个结点的机群环境中,这段代码的执行结果可能如下: Hello World! Process 0 of 4 on tp5 Hello World! Process 1 of 4 on tp1 Hello World! Process 2 of 4 on tp3 Hello World! Process 3 of 4 on tp4 其中,tp1、tp2、tp3、tp4为机群中的四个结点的机器名 并行计算机 由多颗CPU共同做处理的计算机 它可以加快速度,即在更短的时间内解决相同的问题或在相同的时间内解决更多更复杂的问题 节省投入,并行计算可以以较低的投入完成串行计算才能够完成的任务 物理极限的约束,光速是不可逾越的速度极限,设备和材料也不可能做得无限小,只有通过并行才能够不断提高速度 并行计算机 根据一个并行计算机能够同时执行的指令与处理数据的多少,可以把并行计算机分为(SIMD Single-Instruction Multiple-Data)单指令多数据并行计算机和(MIMD Multiple-Instruction Multiple-Data)多指令多数据并行计算机 随着新的并行计算机组织方式的产生,比照上面的划分方法,人们按同时执行的程序和数据的不同又提出了(SPMDSingle-Program Multuple-Data)单程序多数据并行计算机和(MPMD Multiple-ProgramMultiple-Data)多程序多数据并行计算机 并行计算机 按存储方式可以将并行计算机分为共享内存和分布式内存两种。除此之外,分布式共享内存也是一种越来越重要的并行计算机存储方式 。 并行编程模型 目前两种最重要的并行编程模型是数据并行和消息传递,数据并行编程模型的编程级别比较高,编程相对简单,但它仅适用于数据并行问题;消息传递编程模型的编程级别相对较低,但消息传递编程模型可以有更广泛的应用范围 数据并行即将相同的操作同时作用于不同的数据,因此适合在SIMD及SPMD并行计算机上运行 数据并行编程模型虽然可以解决一大类科学与工程计算问题,但是对于非数据并行类的问题,如果通过数据并行的方式来解决一般难以取得较高的效率,数据并行不容易表达甚至无法表达其它形式的并行特征 并行编程模型 消息传递模型一方面为编程者提供了灵活性,另一方面它也将各个并行执行部分之间复杂的信息交换和协调控制的任务交给了编程者,这在一定程度上增加了编程者的负担,这也是消息传递编程模型编程级别低的主要原因。虽然如此,消息传递的基本通信模式是简单和清楚的,学习和掌握这些部分并不困难,因此目前大量的并行程序设计仍然是消息传递并行编程模式 并行语言 并行程序是通过并行语言来表达的并行语言的产生主要有三种方式:1、设计全新的并行语言;2、扩展原来的串行语言的语法成分使它支持并行特征;3、不改变串行语言,仅为串行语言提供可调用的并行库 并行算法 并行算法是给定并行模型的一种具体明确的解决方法和步骤 根据运算的基本对象的不同可以将并行算法分为数值并行算法(数值计算)和非数值并行算法(符号计算) 根据进程之间的依赖关系可以分为同步并行算法(步调一致)、异步并行算法(步调进展互不相同)和纯并行算法(各部分之间没有关系) 根据并行计算任务的大小可以分为粗粒度并行算法(一个并行任务包含较长的程序段和较大的计算量)、细粒度并行算法(一个并行任务包含较短的程序段和较小的计算量)以及介于二者之间的中粒度并行算法 并行算法 对于不同种类
您可能关注的文档
最近下载
- 推拿学试题库(附参考答案).docx VIP
- 探讨平台经济下灵活就业人员的劳动权益保护问题.docx VIP
- 重症患者的营养支持PPT.ppt VIP
- 南瑞集团-水轮发电机组状态监测整体解决方案.pdf VIP
- 第二单元第1课《山水相逢》课件2025-2026学年人美版(2024)八年级美术上册 (1).pptx VIP
- 标准图集-华北-08BJ6-1地下工程防水1.pdf VIP
- 第2课 中国人首次进入自己的空间站(1课时)-课件(共23张PPT).pptx VIP
- 物业项目经理面试的53个经典问题(附参考答案).doc VIP
- 《观赏植物介绍》课件.ppt VIP
- 水电站碾压混凝土施工工法--rcc工法.doc VIP
文档评论(0)