并行程序设计技术——OpenMP.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文档。上传文档
查看更多
并行程序设计技术——OpenMP

并行程序设计技术——OpenMP 遥感产品研发部——刘跃虎 liuyuehu8851@126.com 目录 技术前言——爆炸增长的计算需求 “ 我有一位在金融行业的朋友, 他在股票和证券领域成绩斐然。有一次我去参观他的工作室, 发现他正在运用大量的计算资源对市场上的交易数据进行计算, 他告诉我, 日常交易大约需要采用400台PC服务器对实时产生的大量数据进行计算。” 平素总是面带微笑的王文汉博士给记者讲这个故事时眼神中不无忧虑。“ 今天看来, 计算需求似乎永远也无法完全满足。” 英特尔副总裁兼亚太研发中心总经理王文汉博士提出:多核时代下, 并行编程是开发人员需要解决的最重要的问题之一。 技术前言——爆炸增长的计算需求 正像Herb Sutter先生在2005年发表的《免费的午餐已经结束》一文中指出的那样, 原来似乎取之不尽、用之不竭的计算资源, 今天已经随着应用复杂度的级数式增长被吃得干干净净。尽管英特尔、AMD、Sun、IBM等众多处理器领域的厂商仍然在不断努力, 这些庞大的应用需求仍然无法得到满足。 技术前言——多核时代 自2005年4月,英特尔诞生了它的第一款双核心处理器以及配套的芯片组以来,处理器两大巨头英特尔、AMD 就在多核开发上展开了赛跑。到2007年时,英特尔的四核处理器已经量产,A M D 也宣布即将推出四核处理器。2007 年2月份,英特尔甚至宣布已经研究出80 核、具有万亿次浮点运算能力的芯片。 这样,作为计算机的神经中枢,处理器的发展路线从主频转变到多核上面来,这种变化势必将对其他的软硬件设备产生影响。 技术前言——80核计算机 技术前言——苦苦的等待 时间应该在4月初,我刚完成三维地形多线程显示的编码工作,需要一个比较大的数据对它进行测试,我的工作伙伴给了我一个接近10G的数据,但在使用它之前,必须对它进行一些转换和预处理。 我在我们部门的一台测试机上做这件事情,它的CPU是AMD4400+(双核)。由于程序是传统的串行模式, CPU只有一个核心在工作,而另外一个核心却躺在一边睡大觉。最终,我苦苦的等待了一天,才完成了对这些数据的转换。 技术前言——软硬件并肩携手 尽管我们可以在一个处理器中塞入更多的计算内核来创造更多计算资源, 然而如何让这些资源真正被应用程序所利用, 却并非易事。它不仅需要处理器在架构上进行提升, 而且还需要软件发挥更独特的作用。 让软件和硬件并肩携手, 才是解决这一问题的最 佳方案! 技术前言——并行 多核处理器带来了强大的计算能力,如果无法实现软件程序的并行, 那么我们将面临大量计算资源被闲置。毫无疑问这是一次全新的挑战。 技术前言——并发与并行 “并行”是指无论从微观还是宏观,二者都是一起执行的,就好像两个人各拿一把铁锨在挖坑,一小时后,每人一个大坑。 技术前言——超线程 通过在硬件上的微小改变——增加独立的一套指令指针、寄存器别名表、返回栈指针、高级编程中断控制器等一些硬件投入,将单处理器CPU表现为两个或更多的逻辑CPU,从而实现线程级并行计算,减少了CPU的闲置时间,提高了CPU的运行效率。 技术前言——超线程 就这样,CPU总是能使用不同部分同时执行两个线程,只有两个逻辑处理器产生资源冲突时,两个正在执行的线程才感知“别人”的存在,而其它时间他们就犹如独占CPU一样顺利执行。这使得CPU得到充分的利用,从而达到了提高系统性能的目的。 超线程技术的优点还在于,它通过添加少数的硬件以及软件支持的“小付出”做到了提高CPU的使用率、提高系统性能的“大回报”。 超线程技术的缺点在于单任务模式下逻辑处理器的闲置会造成资源浪费 ,并且解决两个逻辑处理器资源冲突时会产生延迟,冲突大量出现时会降低系统性能。 技术前言——多核与超线程 技术前言——并行如何提高性能 并行例子:刷篱笆 30分钟准备 1分钟1个桩 30分钟风干 共300个桩 技术前言——并行技术 为了实现并行,一批新的技术纷纷崛起。消息传递模式如(MPI,PVM)、并行库如(OpenMP)、并发编程如(Java Concurrency) 、 POSIX 线程、多核计算工具 (Intel C++ Compiler)等成为并行计算的基础软件架构。而这些新的技术和处理器共同形成了新计算环境的底层平台, 起到了“ 地基” 的作用。 技术前言——MPI MPI 是为开发基于消息传递模型的并行程序而制定的工业标准,其目的是为了提高并行程序的可移植性和易用性,用户必须显式地通过发送和接受消息来实现处理器之间的数据交换。 MPI是一个函数库,一种消息传递模型,而不是一门语言, 它的最终目的是服务于进程间通信。 MPI 具有移植性好、功能强大、效率高等多种优点,而且有多种不同的免费、高效、实用的实现版本,几乎所有的并

文档评论(0)

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

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档