猿代码浅谈MPI与OpenMP并行程序设计
admin
2024-04-03 20:51:18
0

一、什么是OpenMP?

OpenMP是一种用于共享内存并行系统的多线程程序设计的库(Compiler Directive),特别适合于多核CPU上的并行程序开发设计。它支持的语言包括:C语言、C++、Fortran;不过,用以上这些语言进行程序开发时,并非需要特别关注的地方,因为现如今的大多数编译器已经支持了OpenMP,例如:Sun Compiler,GNU Compiler、Intel Compiler、Visual Studio等等。程序员在编程时,只需要在特定的源代码片段的前面加入OpenMP专用的#pargma omp欲编译指令就可以“通知”编译器将该段程自动进行并行化处理,并且在必要的时加入线程同步及通信机制。当编译器选择忽略#pargma om预处理指令时,或者编译器不支持OpenMP时,程序又退化为一般的通用串行程序,此时,代码依然可以正常运作,只是不能利用多线程和多核CPU来加速程序的执行而已。

OpenMP使得程序员可以把更多的精力投入到并行算法本身,而非其具体实现细节。对基于数据分集的多线程程序设计,它是一个很好的选择。同时,使用OpenMP也提供了更强的灵活性,可以较容易的适应不同的并行系统配置。线程粒度和负载平衡等是传统多线程程序设计中的难题,然而,在OpenMP中,OpenMP库从程序员手中接管了部分这两方面的工作,从而使得程序员可以更加专注于具体的算法本身,而非如何编程使得代码在CPU负载平衡和线程粒度方面做出平衡。但是,作为高层抽象,OpenMP并不适合需要复杂的线程间同步和互斥的场合。OpenMP的另一个缺点是不能在非共享内存系统(如计算机集群)上使用。

在这样的系统上,MPI使用较多。

标准并行模式执行代码的基本思想是,程序开始时只有一个主线程,程序中的串行部分都由主线程执行,并行的部分是通过派生其他线程来执行,但是如果并行部分没有结束时是不会执行串行部分的。这就是标准的并行模式fork/join式并行模式,共享存储式并行程序就是使用fork/join式并行的,OpenMP亦是如此。

二、什么是MPI?

MPI(MPI是一个标准,有不同的具体实现,比如MPICH等)是多主机联网协作进行并行计算的工具,当然也可以用于单主机上多核/多CPU的并行计算,不过效率低。它能协调多台主机间的并行计算,因此并行规模上的可仲缩性很强,能在从个人电脑到世界TOP10的超级计算机上使用。缺点是使用进程间通信的方式协调并行计算,这导致并行效率较低、内存开销大、不直观、编程麻烦。

OpenMP是针对单主机上多核/多CPU并行计算而设计的工具,换句话说,OpenMP更适合单台计算机共享内存结构上的并行计算。由于使用线程间共享内存的方式协调并行计算,它在多核/多CPU结构上的效率很高、内存开销小、编程语句简洁直观,因此编程容易、编译器实现也容易(现在最新版的C、C++、Fotran编译器基本上都内置OpenMP支持)。不过OpenMP最大的缺点是只能在单台主机上工作,不能用于多台主机间的并行计算!

以下链接为先进计算学员学习之后的心得

OpenMP学习笔记_myh1234567890的博客-CSDN博客OpenMP是一种用于共享内存并行系统的多线程程序设计方案,支持的编程语言包括C、C++和Fortran。OpenMP提供了对并行算法的高层抽象描述,特别适合在多核CPU机器上的并行程序设计。编译器根据程序中添加的pragma指令,自动将程序并行处理,使用OpenMP降低了并行编程的难度和复杂度。当编译器不支持OpenMP时,程序会退化成普通(串行)程序。程序中已有的OpenMP指令不会影响程序的正常编译运行。https://blog.csdn.net/u013159288/article/details/127517149OpenMP并行化技术_w0122001的博客-CSDN博客Moore极限的到来:1965年,英特尔联合创始人戈登·摩尔提出以自己名字命名的"摩尔定律",意指集成电路上可容纳的元器件的数量每隔18到24个月就会增加一倍,性能也会提高一倍.根据摩尔定律CPU的性能每隔18到24个月就能增长一倍.但是现在的现状来看单核的CPU的主频已经逼进了极限,我们需要更先进的制造工艺来提升它,但这是很困难的事.即摩尔定律快要失效.所有我们把目光转向了多核CPU,并且多线程并行编程研究也由此而来.一、OpenMP的概述。https://blog.csdn.net/w0122001/article/details/127413471点击下方链接进入先进计算基础训练营

先进计算基础训练营测评名单收集http://hbcjintern.mikecrm.com/2lu8xm8猿代码科技,现向国家大力输送先进计算行业的人才,助力国家智能科技产业的升级发展。如您是一本以上学历,并且是计算机相关专业,请点击下方链接,或者扫描下方二维码,申请就业资格,我们会协调先进计算工程师与您面试。

猿代码-先进计算猿代码(北京)科技有限公司是一家IT类科技公司,致力于软件开发、系统集成及高素质IT开发人才的训练与培养。icon-default.png?t=M85Bhttp://www.ydma.com/ydm_mobile.html

相关内容

热门资讯

开硬折扣超市,收购量贩零食,三... 文丨刘纾含 编辑丨卢枕 最近,三只松鼠的日子过得不太平。随着收购爱零食的计划搁浅,本就步履维艰的线下...
入夏肾气易亏?广东人靠这8种清... 入夏肾气易亏?广东人靠这8种清润食材,煲汤养肾又去湿 —— 润夏不伤身,调肾正当时 一、夏日热蒸蒸,...
酸菜控必看!解锁酸菜新吃法,美... 谁懂啊!酸菜焖土豆能这么香,米饭又要遭殃咯 家人们,今天必须给你们分享一道能让味蕾直接“起飞”的家常...
原创 小... 标题:小河虾这么做老公最爱,隔三差五就想吃,每次做一大盘都吃光光。 在美食的世界里,有一种味道能够...
入伏后胃口差,惦记吃这3道清淡... 入伏后的高温真是让人没啥胃口,尤其是那种燥热感,一下子就让食欲降到最低了。这时候,大家往往都不想吃那...
肾虚怕冷易乏力?这7种家常食材... 肾虚怕冷易乏力?这7种家常食材坚持吃,早晚养肾见改善 ——唤醒身体深处的温热力量,从饮食开始 一、寒...
广东养生老传统:这7种常见食材... 广东养生老传统:这7种常见食材煲汤,一周三次,养肾润燥 入秋一场风,老友奔药棚。气候一转,体内干燥上...
探访新职业|“食品展示策划师”... 直播间里的美食为啥总是这么诱人?当李佳琦咬下手抓饼锅盔的酥脆声透过直播间麦克风清晰传出,当助播庆子指...
盐城响水县:斑节虾跳向大江南北 夏夜的江苏盐城响水县三圩盐场,灯光映照下,水面泛起粼粼波光,一筐筐活蹦乱跳的斑节虾被捕捞上岸,这些素...
C位!顶流!就在湖北! “没有小龙虾的夏天是不完整的” “啤酒+小龙虾,快乐回来啦”……炎炎夏日作为餐桌上的顶流代表中国“深...
关于李连杰电影的配音的问题 关于李连杰电影的配音的问题李连杰普宏源通话说的不咐蠢是很好吧?为了观看效果而已...不是一个配音演员...
蟑螂屎能够入药? 蟑螂屎能够入药?蟑螂屎能够入药吗?可以的啊!!
大话西游2凌虚步的宝箱怎么打开... 大话西游2凌虚步的宝箱怎么打开?那个宝箱就加锁的跟直接自己的物品怎么解锁吧?跟解锁自己的物品一样 点...
阿长与山海经 阅读 阿长与山海经 阅读1.郑重 臂膊 磨难2. D3.语言 郑重.认真4.严肃.虔诚5.让我记起她...
绿野仙踪结局 绿野仙踪结局绿野仙踪》的结局是可恶的女巫死了,世界恢复和平的。多萝西的几个好朋友分别获得了各自需要的...
家访活动总结 家访活动总结 学校教育需要社会的配合,更需要家长的信任和支持。家访是学校获得家长信任与支持的重要途径...
找一个恋爱养成游戏 找一个恋爱养成游戏推荐你玩“明星志愿”系列,特别是“明星志愿2”还有“美少女梦工厂4”也可以,画面挺...
(急!~~~~~)被牛蚊子叮了... (急!~~~~~)被牛蚊子叮了怎么办我的脚3天前辈牛蚊子(不是蚊子是牛蚊子)叮咬了,现在红肿,痒,有...
事业,金钱,爱情,朋友,什么最... 事业,金钱,爱情,朋友,什么最重要?朋友最重要,有了真诚朋友了,你会在长期的交往中,慢慢收获爱情!收...