OpenMP并发排序算法实现.docVIP

  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并发排序算法实现 摘要:本首先介绍了并发的意义是为了迎接多核时代的到来和对计算速度和效率的追求。阐述了采用线程化方法的四个步骤,并略述了并发编程核心内容与实现方法。其次,解释了为什么在设计中全部使用OpenMP线程化库,以及多线程程序设计中的8条简单规则。然后利用这些工具和规则,对奇偶换位排序算法,希尔排序算法、快速排序算法、堆排序算法进行了并发化,略述了他们的串行算法,以串行算法为出发点,进行逐步并发,通过不断改进,使得并发算法能适用于不同的环境。最后,从效率、简单性、可移植性、可伸缩性这四个设计要素来进行分析,切实地提高了运算的效率。12236 关键词:并发;排序; OpenMP;设计要素权衡; Concurrent sorting algorithm implementation Abstract: This paper first introduces a concurrent meaning in order to meet the multi-core era and the pursuit of computing speed and efficiency . Described the four steps with the thread method , and outlines the concurrent programming of the core content and implementation . Secondly , it explains why , in the design of all OpenMP threaded libraries , as well as multi-threaded programming , 8 Simple Rules . Then use these tools and rules on parity transposition sorting algorithm , Hill sorting algorithms , Quicksort algorithm concurrency , and outlines the serial algorithm , stepwise concurrent serial algorithm as a starting point , through continuous improvement makes concurrent algorithm can be applied to different environments . Finally, from the efficiency , simplicity , portability , scalability to analyze these four design elements and effectively improve the efficiency of operations . Keywords:concurrent ; sort;OpenMP ;Design elements of trade-offs 4.3.1串行算法简述24 4.3.2快速排序并发算法详述27 4.4堆排序28 4.4.1串行算法简述28 4.4.2并发算法31 5分析33 5.1奇偶换位排序33 5.2希尔排序34 5.3快速排序35 5.4堆排序36 6结论38 致谢39 参考文献40 1绪论 1.1课题的目的和意义 课题目的 通过并发排序算法的实现,提高排序算法的速度。 通过在多核处理器上编写并发排序程序,可以获得何种程度的性能提升?最理想的情况是:当在双核处理器上运行并发程序时,总的执行时间将减半,在4核处理器上运行时降为1/4,在8核处理器上运行时降为1/8,依次类推。这听上去似乎比新一代处理器降低20%~30%运行时间的情况要更好。然而,如果想要使代码充分发挥多核处理器的优势,那么需要付出一定的努力。此外,通常很少有代码能够达到理想情况下的性能提升程度。事实上,随着处理器数量的增加,性能提升的程度实际上可能在逐渐降低。不过,如果编写出高质量的并发多线程程序,那么还是可以获得不错的性能提升,反过来可以解释为什么不能获得性能提升。更理想的情况是,如果开发出的并发算法在8核,16核或者更多核的处理器上运行时,能够获得与在双核或者4核上运行时一样大的性能提升度,那么将更好。 课题的意义 人们对计算机系统提供更强的计算能力的需求总是不断增长的,需要很高计算速度的领域包括科学和工程问题的数值建模和模拟。这些问题常需要对大量数据进行很多次重复计算以得到有效结果。此外,计算必须在ldquo;合理rdquo;的时间内完成。在制造领域,工程计算

文档评论(0)

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

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

1亿VIP精品文档

相关文档