OpenMP和MPI之对比.docx

上传人:scccc 文档编号:14430596 上传时间:2022-02-06 格式:DOCX 页数:5 大小:69.48KB
返回 下载 相关 举报
OpenMP和MPI之对比.docx_第1页
第1页 / 共5页
OpenMP和MPI之对比.docx_第2页
第2页 / 共5页
OpenMP和MPI之对比.docx_第3页
第3页 / 共5页
OpenMP和MPI之对比.docx_第4页
第4页 / 共5页
OpenMP和MPI之对比.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《OpenMP和MPI之对比.docx》由会员分享,可在线阅读,更多相关《OpenMP和MPI之对比.docx(5页珍藏版)》请在三一文库上搜索。

1、OpenMP和MPI之对比OpenMP和MPI是并行编程的两个手段,对比如下:1. OpenMP:线程级(并行粒度);共享存储;隐式(数据分配方式);可扩 展性差;2. MPI:进程级;分布式存储;显式;可扩展性好。3. OpenMP采用共享存储,意味着它只适应于 SMP、DSM机器,不适合于集 群。MPI虽适合于各种机器,但它的编程模型复杂:需要分析及划分应用 程序问题,并将问题映射到分布式进程集合;需要解决通信延迟大和负载 不平衡两个主要问题;4. 调试MPI程序麻烦;MPI程序可靠性差,一个进程出问题,整个程序将错1 口京;5 .常采用mpi而不用openmp的原因是:openmp扩展性

2、差,对机器要求高, 要想运算的快点,机器就要很贵。6 . 一般双核,用openmp。因为mpi用于分布式机器之间数据传输,单机内用 mpi的时间开销大于OpenMP。7 .在一台机器中有很多CPU共享其中的内存条,叫共享内存并行机(如今天 的双核CPU台式机),它适合OpenMP ,而把这样的机器用专用高速网 连接就形成了分布式内存并行机,它适合于MPI。此时,可以混合OpenMP , 能提高一定的运行速度。8 . openmp基本上只要在已有程序基础上根据需要加并行语句,而mpi有时甚至需要从基本设计思路上重写整个程序,而且 mpi调试也困难得多,涉及到局域网通信这一不确定的因素9 .当然o

3、penmp虽然简单却只能用于单机多 CPU/多核并行,而mpi才是用于多主机超级计算机集群的强悍工具,当然复杂。10.OpenMP+MPI的组合方式在集群方面有很成熟的案例。比较并行粒度存储方式可扩展性适合机器OpenMP线程级共享存储差SMP、DSM 机器,用于单机多CPU/多核MPI进程级分布式.好多主机超级计算机集群比较编程难易数据分配方式可靠性主要应用OpenMP易,直接添加并行语句好科学计算上占统治地位,多线程应用MPI难,需要重新设计程序显式差,一个进程出问题,程序期溃集群应用嵌套并行执行模型OpenMP采用fork-join (分叉-合并)并行执行模式。线程遇到并行构造时,就会创

4、建由其自身及其他一些额外(可能为零个) 线程组成的线程组。遇到并行构造的线程成为新组中的主线程。组中的其他线程称为组的从属线程。所有组成员都执行并行构 造内的代码。如果某个线程完成了其在并行构造内的工作,它就会在并行构造末尾的隐式屏障处等待。当所有组成员都到达该 屏障时,这些线程就可以离开该屏障了。主线程继续执行并行构造之后的用户代码,而从属线程则等待被召集加入到其他组。OpenMP并行区域之间可以互相嵌套。如果禁用嵌套并行操作,则由遇到并行区域内并行构造的线程所创建的新组仅包含遇到 并行构造的线程。如果启用嵌套并行操作,则新组可以包含多个线程。OpenMP运行时库维护一个线程池,该线程池可用作并行区域中的从属线程。当线程遇到并行构造并需要创建包含多个线程的 线程组时,该线程将检查该池,从池中获取空闲线程,将其作为组的从属线程。如果池中没有足够的空闲线程,则主线程获取的从属线程可能会比所需的要少。组完成执行并行区域时,从属线程就会返回到池中精品资料Welcome ToDownload !欢迎您的下载,资料仅供参考!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1